foreach语句表示收集一个集合中的各个元素,并针对各个元素执行内嵌语句。


语句的格式为:

foreach(type identifier in expression)embedded-statement

foreach(元素类型  变量名  in 集合或数组名)

{语句}

其中类型(type)和标识符(identifier)用来声明循环变量,表达式(expression)对应集合。每执行一次内嵌语句,循环变量就依次取集合中的一个元素代入其中。在这里,循环变量是一个只读型局部变量,如果试图改变它的值或将它作为一个ref或out类型的参数传递,都将引发编译时的错误。

foreach语句中的expresssion必须是集合类型,如果该集合的元素类型与循环变量类型不一致,则必须有一个显示定义的从集合中的元素类型到循环变量元素类型的显式转换。

EG:

foreach (DataRow dr in ds2.Tables[0].Rows)

{

string BH=Convert.ToString(dr["数据库中某列名"]);

if(BH.Equals(BB))

{

dr["CHECKED"]= "1";

}

}

gridControl2.DataSource = ds2.Tables[0].DefaultView;

}

Foreach的典型的问题:

​System.InvalidOperationException: 集合已修改;可能无法执行枚举操作。​