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

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

訪問修改后的閉包(2)

訪問修改后的閉包(2)

慕森王 2019-10-08 11:11:05
這是從Access到Modified Closure的擴展。我只想驗證以下內容是否真的足夠安全用于生產。List<string> lists = new List<string>();//Code to retrieve lists from DB    foreach (string list in lists){    Button btn = new Button();    btn.Click += new EventHandler(delegate { MessageBox.Show(list); });}每次啟動我只會執(zhí)行一次以上操作。目前看來,它工作正常。正如喬恩(Jon)在某些情況下提到的違反直覺的結果。那么,我需要在這里注意什么?如果列表多次運行,可以嗎?
查看完整描述

3 回答

?
aluckdog

TA貢獻1847條經驗 獲得超7個贊

這很棘手,但是上面的解釋對我來說很清楚: 這似乎是正確的,但實際上,每當單擊任何按鈕時,只會使用str變量的最后一個值。這樣做的原因是foreach進入了while循環(huán),但是迭代變量是在該循環(huán)之外定義的。這意味著,當您顯示消息框時,str的值可能已經被迭代為字符串集合中的最后一個值。

查看完整回答
反對 回復 2019-10-08
  • 3 回答
  • 0 關注
  • 466 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網(wǎng)微信公眾號