C#中的foreach的用法
foreach 語句爲數組或對象集合中的每個元素重複一個嵌入語句組。foreach 語句用於循環訪問集合以獲取所需信息,但不應用於更改集合內容以避免產生不可預知的副作用。
能夠應用的編程語言類別:Java、C# 、PHP、D語言(Phobos庫)。
foreach語句是c#中新增的循環語句,他對於處理數組及集合等數據類型特別方便。
foreach語句的一般語法格式如下:
foreach(數據類型 標識符 in 表達式)
{
循環體
}
此語句的形式如下:
foreach (type identifier in expression) statement
其中:
type
identifier 的類型。
identifier
表示集合元素的迭代變量。如果迭代變量爲值類型,則無法修改的只讀變量也是有效的。
expression
對象集合或數組表達式。集合元素的類型必須可以轉換爲 identifier 類型。請不要使用計算爲 null 的表達式。
而應計算爲實現 IEnumerable 的類型或聲明 GetEnumerator 方法的類型。在後一種情況中,GetEnumerator 應該要麼返回實現 IEnumerator 的類型,要麼聲明 IEnumerator 中定義的所有方法。
statement
要執行的嵌入語句。
事例:
int[]arr=newint[]{0,1,2,3,4};
foreach(int i in arr)
{
Console.Write(i);
}
C#中:foreach 針對引用類型地址的訪問
如果當前方法中在訪問當前引用類型的集合,在新調用的 方法中在修改當前集合的地址時,當前地址會依然存在,不符合C#中的對象的生命週期,一旦當前文件的引用地址被替換掉了,當前對象的空間就消失廢棄了,但是,foreach(){
}會保留原先的集合的地址<地址應該也是有生命週期的>foreach 和for 就不一樣!
c#中:foreach舉例
using System;
class Number
{
static void Main()
{
int evenNum = 0, oddNum = 0;
//定義並初始化一個一維數組
int[] arr = new int[] { 13, 16, 15, 78, 26, 65, 39 };
foreach (intk in arr) //提取數組中的整數
{
if (k % 2 == 0) //判斷是否爲偶數
evenNum++;
else
oddNum++;
}
Console.WriteLine("偶數個數:{0} 奇數個數:{1}", evenNum, oddNum);
Console.ReadKey();
}
}
能夠應用的編程語言類別:Java、C# 、PHP、D語言(Phobos庫)。
foreach語句是c#中新增的循環語句,他對於處理數組及集合等數據類型特別方便。
foreach語句的一般語法格式如下:
foreach(數據類型 標識符 in 表達式)
{
循環體
}
此語句的形式如下:
foreach (type identifier in expression) statement
其中:
type
identifier 的類型。
identifier
表示集合元素的迭代變量。如果迭代變量爲值類型,則無法修改的只讀變量也是有效的。
expression
對象集合或數組表達式。集合元素的類型必須可以轉換爲 identifier 類型。請不要使用計算爲 null 的表達式。
而應計算爲實現 IEnumerable 的類型或聲明 GetEnumerator 方法的類型。在後一種情況中,GetEnumerator 應該要麼返回實現 IEnumerator 的類型,要麼聲明 IEnumerator 中定義的所有方法。
statement
要執行的嵌入語句。
事例:
int[]arr=newint[]{0,1,2,3,4};
foreach(int i in arr)
{
Console.Write(i);
}
C#中:foreach 針對引用類型地址的訪問
如果當前方法中在訪問當前引用類型的集合,在新調用的 方法中在修改當前集合的地址時,當前地址會依然存在,不符合C#中的對象的生命週期,一旦當前文件的引用地址被替換掉了,當前對象的空間就消失廢棄了,但是,foreach(){
}會保留原先的集合的地址<地址應該也是有生命週期的>foreach 和for 就不一樣!
c#中:foreach舉例
using System;
class Number
{
static void Main()
{
int evenNum = 0, oddNum = 0;
//定義並初始化一個一維數組
int[] arr = new int[] { 13, 16, 15, 78, 26, 65, 39 };
foreach (intk in arr) //提取數組中的整數
{
if (k % 2 == 0) //判斷是否爲偶數
evenNum++;
else
oddNum++;
}
Console.WriteLine("偶數個數:{0} 奇數個數:{1}", evenNum, oddNum);
Console.ReadKey();
}
}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.