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

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

結(jié)構(gòu)的不變性

結(jié)構(gòu)的不變性

MMTTMM 2019-12-02 10:58:23
我在很多地方都讀過它,包括在這里最好使結(jié)構(gòu)不可變。這是什么原因呢?我看到許多Microsoft創(chuàng)建的可變結(jié)構(gòu),例如xna中的結(jié)構(gòu)。BCL中可能還有更多。不遵循此準(zhǔn)則的利弊是什么?
查看完整描述

3 回答

?
料青山看我應(yīng)如是

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

最大的缺點(diǎn)是事情不會(huì)像您期望的那樣表現(xiàn)-特別是如果可變性來自直接值和其中的引用類型的混合。

老實(shí)說,我不記得我曾經(jīng)看到過人們?cè)谑褂每勺兘Y(jié)構(gòu)時(shí)在新聞組中提出的所有奇怪問題,但是這些原因確實(shí)存在。可變結(jié)構(gòu)會(huì)引起問題。遠(yuǎn)離。

編輯:我剛剛找到了我之前寫過的關(guān)于此主題的電子郵件。它詳細(xì)說明了一點(diǎn):

  • 從哲學(xué)上來說是錯(cuò)誤的:結(jié)構(gòu)應(yīng)該代表某種基本價(jià)值。這些基本上是一成不變的。您不必更改數(shù)字5。可以將變量的值從5更改為6,但是您不能在邏輯上對(duì)值本身進(jìn)行更改。

  • 這實(shí)際上是一個(gè)問題:它會(huì)產(chǎn)生許多奇怪的情況。如果可以通過接口進(jìn)行更改,那就特別糟糕。然后,您可以開始更改裝箱的值。ck 我見過很多新聞組帖子,這是由于人們?cè)噲D使用可變結(jié)構(gòu)而遇到問題。我看到了一個(gè)非常奇怪的LINQ示例,該示例失敗了,因?yàn)樗?code>List<T>.Enumerator是一個(gè)結(jié)構(gòu)。


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

添加回答

舉報(bào)

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號(hào)

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