DataTable test = new DataTable();
foreach (var r in test.Rows)
{
r[1].tostring();
}
Run Code Online (Sandbox Code Playgroud)
为什么编译器不理解r是DataRow?有关错误消息,请参见下图.
mel*_*okb 12
该属性DataTable.Rows使用旧样式(非泛型)集合.实际类型DataRowCollection定义了非泛型的枚举器,因此它返回类型的实例object.为了解决这个问题,在框架(3.5+)的更高版本中提供了一种新的扩展方法,该方法DataTable.AsEnumerable返回一个正确类型的枚举器:
DataTable test = new DataTable();
foreach (var r in test.AsEnumerable())
{
r[1].ToString();
}
Run Code Online (Sandbox Code Playgroud)
如果您遇到旧版本的.NET,则r必须DataRow手动转换.
| 归档时间: |
|
| 查看次数: |
87 次 |
| 最近记录: |