網上查資料,說foreach 不能修改迭代變數,只能訪問迭代變數。自己理解也不是很深,通過幾個**進行驗證,發現foreach的用法還有點特別
驗證方法:
1. 迭代變數 為int
int argint = ;
foreach (int item in argint)
結果:編譯不通過,提示item為迭代變數,無法為它賦值;
2. 迭代變數為struct
public struct mystruct
}mystruct array = new mystruct , new mystruct };
foreach (mystruct item in array)
結果:編譯不通過,提示item為迭代變數,無法修改其成員;
3. 迭代變數為類
ilistlist = db.students.tolist();
foreach (student item in list)
結果:編譯通過,執行後發現,item的屬性都發生了改變。
總結:對於迭代變數為類的情況,foreach在迭代過程中,可以修改迭代變數的屬性。
C foreach迴圈例項詳解
在編寫c 時,我們會發現使用foreach迴圈會比使用for迴圈方便,不需要進行資料型別的強制轉換,不需要使用下標 通過幫助文件的檢視可知,如果要對乙個物件使用foreach進行迴圈的話則此物件的型別必須擁有getenumerator方法,此方法是在ienumerable介面下的,但是否實現此介面無...
c foreach標籤使用詳解
用法 轉的,可以用來作為自己的學習筆記 類似於for和foreach迴圈 以下是我目前見過的用法 1 迴圈遍歷,輸出所有的元素。www.2cto.com 注意 items 用於接收集合物件,var 定義物件接收從集合裡遍歷出的每乙個元素。同時其會自動轉型。2 迴圈遍歷,輸出乙個範圍類的元素。注意 b...
c foreach標籤使用詳解
用法 轉的,可以用來作為自己的學習筆記 類似於for和foreach迴圈 以下是我目前見過的用法 1 迴圈遍歷,輸出所有的元素。www.2cto.com 注意 items 用於接收集合物件,var 定義物件接收從集合裡遍歷出的每乙個元素。同時其會自動轉型。2 迴圈遍歷,輸出乙個範圍類的元素。注意 b...