要访问的嵌套foreach语句
本文关键字:foreach 语句 嵌套 访问 | 更新日期: 2023-09-27 18:16:36
谁能告诉我这段代码有什么问题?VS2012拒绝第二个foreach语句。
我得到
"type or namespace name 'grid' could not be found..."
和
"invalid token 'foreach' in class..."
public static void go(DataTable grid)
{
foreach (DataRow row in grid.Rows);
}
foreach (DataColumn col in grid.columns);
}
我得到相同的错误:
public static void go(DataTable grid)
{
foreach (DataRow row in grid.Rows);
}
foreach (DataColumn col in row.columns);
}
我的VS经常崩溃(实际上,这是我在Windows XP之前第一次看到真正的"蓝屏死机"),并且我有一些不寻常的行为,比如控件从窗体中消失。
那么,谁在遭受扭曲的代码逻辑,我还是VS?
嵌套的foreach块没有闭包:
应该是:
public static void go(DataTable grid)
{
foreach (DataRow row in grid.Rows)
{
foreach (DataColumn col in row.columns)
{
}
}
}
第二个foreach似乎只是随机放置在代码文件中。它需要在
函数内 public static void go(DataTable grid)
{
foreach (DataRow row in grid.Rows)
{
foreach (DataColumn col in row.columns)
{
}
}
}
在第二个foreach
之前有一个额外的}
。那个是关闭方法,所以第二个foreach
是方法定义之外的,这是一个语法错误。
如果没有适当的缩进,您的代码很难阅读,但是您的foreach不是嵌套的。也就是说,它们是完全分开的,所以'grid'对第二个foreach块是不可见的。