C# 数据集 foreach
C# DataSet foreach
我正在使用 DataSet,当我使用 foreach 循环迭代列时,我无法获得 ColumnName(如果使用 var 关键字):
例如
DataTable table1 = new DataTable("patients");
table1.Columns.Add("name");
table1.Columns.Add("id");
table1.Rows.Add("sam", 1);
table1.Rows.Add("mark", 2);
与使用 foreach 相比:
但是如果明确定义了foreach语句:
一切正常。
我知道 foreach 是 Enumarator 的语法糖。
它是某种遗留和缺乏泛型吗?
Is it some kind of legacy and lack of Generics?
是的。此代码是在泛型存在之前用 C# 1.0 编写的。
DataTable.Columns 是一个 DataColumnCollection。 DataColumnCollection 实现 IEnumerable,而不是 IEnumerable。 foreach 语句对您指定的任何类型执行转换。 var指定了枚举器方法returns(本例为Object)。
我正在使用 DataSet,当我使用 foreach 循环迭代列时,我无法获得 ColumnName(如果使用 var 关键字):
例如
DataTable table1 = new DataTable("patients");
table1.Columns.Add("name");
table1.Columns.Add("id");
table1.Rows.Add("sam", 1);
table1.Rows.Add("mark", 2);
与使用 foreach 相比:
但是如果明确定义了foreach语句:
一切正常。 我知道 foreach 是 Enumarator 的语法糖。 它是某种遗留和缺乏泛型吗?
Is it some kind of legacy and lack of Generics?
是的。此代码是在泛型存在之前用 C# 1.0 编写的。
DataTable.Columns 是一个 DataColumnCollection。 DataColumnCollection 实现 IEnumerable,而不是 IEnumerable