熱點推薦:
您现在的位置: 電腦知識網 >> 編程 >> .NET編程 >> 正文

C#中foreach基礎使用方法[2]

2013-11-13 10:59:35  來源: .NET編程 

  就是像開頭測試的例子稍有改動移除後不用break跳出

List<string> myString = new List<string>();

myStringAdd(ab);
myStringAdd(cd);
foreach (string s in myString)
{
myStringRemove(s);
}

  編譯通過了但運行時拋出異常InvalidOperationException集合已修改可能無法執行枚舉操作

  通過上面三個測試例子和開頭的實際例子我貌似看到了foreach的某種東西

  第一不能修改的是foreach引用變量因為它是引用的對它的修改沒有意義也沒有作用它就像一個c/c++指針那樣對集合中的元素進行指向引用我們能通過引用看到它但是沒有能力動它

  第二in之前的變量是引用變量但in之後的集合確是實實在在的所以可以對它操作ADD();REMOVE()等方法可以使用

  第三foreach引用變量大概是通過地址指向後面的集合(我猜想跟c/c++的指針很像)當修改了集合的元素時地址可能發生某種改變所以不跳出循環繼續遍歷時就可能出現引用找不到的情況 [next]   最後也許說的不精准但這就是我理解的全部了首先表揚下自己這樣的思路和精神至於技術深度大概沒什麼呵呵再接再厲

[]  []  


From:http://tw.wingwit.com/Article/program/net/201311/14941.html
    推薦文章
    Copyright © 2005-2013 電腦知識網 Computer Knowledge   All rights reserved.