c#語言提供的foreach語句是乙個for語句迴圈的捷徑,而且還促進了集合類的更為一致,先來看看它的定義格式:
foreach語句的定義格式為:
foreach(型別 變數 in 集合)
每執行一次內嵌語句,迴圈變數就依次取集合中的乙個元素代入其中,在這裡,迴圈變數是乙個唯讀型區域性變數,如試圖改變其值將會發生編譯錯誤。
foreach語句用於列舉出集合中所有的元素,foreach語句中的表示式由關鍵字in隔開的兩個項組成。in右邊的項是集合名,in左邊的項是變數名,用來存放該集合中的每個元素。
foreach語句的優點一:語句簡潔,效率高。
用乙個遍歷陣列元素的例子來說明:
先用foreach語句來輸出陣列中的元素:
int[,] ints =new int[2,3],};
foreach (int temp in ints)
console.readline();
再用for語句輸出陣列中元素:
int[,] ints =new int[2,3],};
for (int i = 0; i < ints.getlength(0); i++)
} console.readline();
這兩種**執行的結果是一樣的都是每行乙個元素,共6行,元素分別是1 2 3 4 5 6。
在一維陣列中還無法體現出foreach語句的簡潔性,高效率性,但是在二維陣列,甚至多維陣列中體現的更為明顯和方便,所以在c#語言中要用迴圈語句提倡使用foreach語句。
foreach語句的優點二:避免不必要的因素
在c#語言中使用foreach語句不用考慮陣列起始索引是幾,很多人可能從其他語言轉到c#的,那麼原先語言的起程式設計客棧始索引可能不是1,例如vb或者delphi語言,那麼在c#中使用陣列的時候就難免疑問到底使用0開始還是用1開始呢,那麼使foreach就可以避免這類問題。
foreach語句的優點三:foreach語句自動完成型別轉換
這種體現可能通過如上的例子看不出任何效果,但是對於arraylist之類的資料集來說,這種操作就顯得比較突出。
先用foreach語句來實現型別轉換操作:在使用arraylist類時先要引入using system.collections;
int a=new int[3];
arraylist arrint = new arraylist();
arrint.addrange(a);
foreach (int temp in arr
console.readline();
再來使用for語句來實現:需要進行顯式的強制轉換
int a=new程式設計客棧 int[3];
arraylist arrint = new arraylist();
arrint.addrange(a);
for (int i = 0; i < arrint.cou )
console.readline();
兩個程式輸出的結果為:每一行乙個元素,分別為1,2,3。
foreach語句對於string類更是簡潔:
using system;
using system.collections.generic;
using system.linq;
using system.text;
using system.threading.tasks;
namespace @foreach
else
} console.readline();
} }
}輸出的結果為:每一行乙個單詞,分別為this, is ,an ,example ,of ,a ,foreach。
對於foreach語句的理解,目前也就知道這多了,隨著更深層次的學習,或許會有更好的理解吧。
本文標題: 輕鬆學習c#的foreach迭代語句
本文位址:
C 迭代器(Foreach)實現方法
一 為非泛型列表建立迭代器塊 using system using system.collections.generic using system.text namespace foreachconstruct region ienumerable 成員 public tokenenumerator...
C 入門5 7 迭代語句之foreach語句
foreach提供了乙個for語句的捷徑,而且還促進了集合類更為一致。格式foreach 型別 變數 in 集合 注意集合二字。補充 string型別可以看成是char型別的乙個集合 新語句char.iswhitespace c 判斷c是否為空格 例子 將語句識別為單詞並逐行輸出 using sys...
輕鬆學習C 的雜湊表
在c 語言中,還有一種用於快速搜尋而組織的鍵 值組合的陣列,這種陣列叫做關聯陣列,也叫做雜湊表 hashtable 雜湊表也在system.collection命名空間下,用於處理和表現類似key value的鍵值對,其中key通常用來快速查詢,同時key是區分大小寫,且key必須是唯一的。它沒有有...