第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問(wèn)題,去搜搜看,總會(huì)有你想問(wèn)的

你在C#或.NET中看到的最奇怪的情況是什么?

你在C#或.NET中看到的最奇怪的情況是什么?

白衣染霜花 2019-06-28 15:07:34
你在C#或.NET中看到的最奇怪的情況是什么?我收集了幾個(gè)角落的箱子大腦挑逗者總是想聽(tīng)更多。該頁(yè)面只涉及C#語(yǔ)言位和bobs,但我也發(fā)現(xiàn)核心.NET內(nèi)容也很有趣。例如,這里有一個(gè)不在頁(yè)面上,但我覺(jué)得難以置信的:string x = new string(new char[0]);string y = new string(new char[0]);Console.WriteLine(object.ReferenceEquals(x, y));我希望打印錯(cuò)誤-畢竟,“新”(引用類型)總創(chuàng)建一個(gè)新的對(duì)象,不是嗎?C#和CLI的規(guī)范都表明它應(yīng)該。在這個(gè)特殊的情況下。它打印了True,并在我測(cè)試過(guò)的框架的每個(gè)版本上都這樣做了。(無(wú)可否認(rèn),我還沒(méi)有在Mono上試過(guò).)我要說(shuō)的是,這只是我想要的那種東西的一個(gè)例子-我并不是特別想要討論和解釋這個(gè)奇怪的東西。(這與正常的字符串實(shí)習(xí)不一樣;特別是,在調(diào)用構(gòu)造函數(shù)時(shí),通常不會(huì)發(fā)生字符串實(shí)習(xí)。)我真的是在要求類似的奇怪行為。還有其他寶石藏在外面嗎?
查看完整描述

3 回答

?
aluckdog

TA貢獻(xiàn)1847條經(jīng)驗(yàn) 獲得超7個(gè)贊

銀行家的四舍五入。

這個(gè)不是編譯器的錯(cuò)誤或故障,但肯定是一個(gè)奇怪的角落的情況.

.NET Framework使用了一種稱為Banker舍入的方案或舍入。

在銀行家的四舍五入中,0.5個(gè)數(shù)字被四舍五入到最近的偶數(shù),所以

Math.Round(-0.5) == 0Math.Round(0.5) == 0Math.Round(1.5) == 2Math.Round(2.5) == 2etc...

這可能導(dǎo)致一些意想不到的錯(cuò)誤,在財(cái)務(wù)計(jì)算的基礎(chǔ)上,更著名的回合半四舍五入。

VisualBasic也是如此。


查看完整回答
反對(duì) 回復(fù) 2019-06-28
?
慕姐8265434

TA貢獻(xiàn)1813條經(jīng)驗(yàn) 獲得超2個(gè)贊

如果調(diào)用為Rec(0)(不是在調(diào)試器下)?

static void Rec(int i){
    Console.WriteLine(i);
    if (i < int.MaxValue)
    {
        Rec(i + 1);
    }}

答:

  • 在32位JIT上,它應(yīng)該會(huì)導(dǎo)致StackOverflow異常。
  • 在64位JIT上,它應(yīng)該將所有數(shù)字打印到int.MaxValue

這是因?yàn)?/trans>64位JIT編譯器應(yīng)用尾調(diào)用優(yōu)化。,而32位的JIT沒(méi)有。

不幸的是,我沒(méi)有一臺(tái)64位的機(jī)器來(lái)驗(yàn)證這一點(diǎn),但是這個(gè)方法確實(shí)滿足了尾叫優(yōu)化的所有條件。如果有人有,我想看看是否是真的。


查看完整回答
反對(duì) 回復(fù) 2019-06-28
  • 3 回答
  • 0 關(guān)注
  • 363 瀏覽

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)