我有一个项目,它将来自 SQL 的一些数据存储在 a 中DataTable,然后将每个数据映射DataRow到一个自定义类实例。
当我遍历属性Rows(类型为)DataRowCollection时,没有类型推断。
所以这不起作用:
var dt = new DataTable();
foreach(var row in dt.Rows)
{
int id = Int32.Parse(row.ItemArray[0].ToString());
// doesn't compile
}
但这确实:
var dt = new DataTable();
foreach(DataRow row in dt.Rows)
{
int id = Int32.Parse(row.ItemArray[0].ToString());
}
为什么编译器无法确定它是什么类型row?var在枚举 a 的情况下,关键字可以代表其他东西吗DataRowCollection?除了数据行之外,还有其他可以在 a 中枚举的内容DataRowCollection吗?
这就是你需要明确的原因吗?