注册 登录
编程论坛 ASP.NET技术论坛

语法问题

fyz520 发布于 2010-10-28 23:07, 572 次点击
请教高人:

foreach(DataRow drrow in dtTable.Rows)
{
    ……
}

DataRow drrow in dtTable.Rows是表示什么意思?

还有一个

object key in hashCar.Keys这个表示什么?

谢谢!
2 回复
#2
wangnannan2010-10-29 08:03
DataRow是迭代变量 例如for (int i = 0; i < 10; i++) {}
这里的 i 就是迭代变量,一般就叫循环变量,控制循环的次数。。
称为迭代变量只是为了显得更专业点,其实没什么。。  或许安全+效率改进的循环就变成迭代了
    foreach (type identifier in expression) statement
    type identifier 的类型。
  identifier
  表示集合元素的迭代变量。如果迭代变量为值类型,则无法修改的只读变量也是有效的。
  expression
  对象集合或数组表达式。集合元素的类型必须可以转换为 identifier 类型。请不要使用计算为 null 的表达式。
  而应计算为实现 IEnumerable 的类型或声明 GetEnumerator 方法的类型。在后一种情况中,GetEnumerator 应该要么返回实现 IEnumerator 的类型,要么声明 IEnumerator 中定义的所有方法。
  statement
  要执行的嵌入语句。

楼主或许会问 for foreach哪个更有效率呢?
相对于原来的for语句foreach具有更好的执行效率,foreach的平均花费时间只有for30%。


#3
fyz5202010-10-29 11:25
谢谢
1