chr*_*ofr 17 c# datarow implicit-typing
foreach (var row in table.Rows)
{
DoSomethingWith(row);
}
Run Code Online (Sandbox Code Playgroud)
假设我正在使用标准System.Data.DataTable(有一个System.Data.DataRow对象集合),上面的变量'row'解析为一个object类型,而不是一个System.Data.DataRow.
foreach (DataRow row in table.Rows)
{
DoSomethingWith(row);
}
Run Code Online (Sandbox Code Playgroud)
像我期望的那样工作.这有什么特别的原因吗?
谢谢.
Ser*_*sev 21
那是因为Rows是DataRowCollection,IEnumerable而不是IEnumerable<DataRow>,这意味着推断的类型将是object.
当您明确声明输入时foreach,指示c#为每个调用添加强制转换,这就是它工作的原因.
| 归档时间: |
|
| 查看次数: |
2010 次 |
| 最近记录: |