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

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

訪問修改后的閉包

訪問修改后的閉包

心有法竹 2019-07-02 16:55:37
訪問修改后的閉包string [] files = new string[2];files[0] = "ThinkFarAhead.Example.Settings.Configuration_Local.xml"; files[1] = "ThinkFarAhead.Example.Settings.Configuration_Global.xml"; //Resharper complains this is an "access to modified closure"for (int i = 0; i < files.Length; i++ ){     // Resharper disable AccessToModifiedClosure     if(Array.Exists(Assembly.GetExecutingAssembly().GetManifestResourceNames(),     delegate(string name) { return name.Equals(files[i]); }))          return Assembly.GetExecutingAssembly().GetManifestResourceStream(files[i]);     // ReSharper restore AccessToModifiedClosure}雖然ReSharper抱怨說這是“訪問修改后的閉包”,但上面的內容似乎很好。有人能說明這件事嗎?
查看完整描述

3 回答

?
哈士奇WWW

TA貢獻1799條經驗 獲得超6個贊

在本例中,沒關系,因為您實際上是在執(zhí)行委托循環(huán)。

但是,如果您保存委托并稍后使用它,則會發(fā)現所有委托在嘗試訪問文件[i]時都會拋出異常-它們正在捕獲變量 i而不是在創(chuàng)建委托時它的價值。

簡而言之,作為一個電勢陷阱,但在這種情況下它不會傷害你。

本頁底部對于一個更復雜的例子,結果是違反直覺的。


查看完整回答
反對 回復 2019-07-02
  • 3 回答
  • 0 關注
  • 570 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號