DataTable.Rows方法不返回IEnumerable <DataRow>

Ala*_*lan 2 .net c# linq ado.net

我非常喜欢在C#中使用'var'而不是键入所有数据类型.我觉得很烦人

var dt = CreateAndPopulateDataTable()   // Immaterial
foreach (var row in dt.Rows)
Run Code Online (Sandbox Code Playgroud)

将'row'作为对象变量而不是DataRow变量返回.我知道我可以稍后再使用它或只使用'DataRow'而不是'var'.这是我唯一的两个选择吗?

Ant*_*ram 9

你可以IEnumerable<DataRow>通过使用AsEnumerable()针对表的方法来获得.

foreach (var row in dt.AsEnumerable())
Run Code Online (Sandbox Code Playgroud)

但是,在这种情况下,您几乎不能保存字符verus只是继续并指定类型.

foreach (DataRow row in dt.Rows) 
Run Code Online (Sandbox Code Playgroud)