在Visual Studio 2015(.NET 4.5,ASP.NET C#)中,以下编译并运行:
foreach (GridViewRow row in gridView.Rows)
{
Thread.Sleep(row.Cells.Count);
}
但这不是(Cells
不是一个有效的方法):
foreach (var row in gvEdit.Rows)
{
Thread.Sleep(row.Cells.Count);
}
这是var
的限制吗?我不介意明确地输入它,我只是希望它能与var
一起使用。
答案 0 :(得分:4)
因为Rows
是GridViewRowCollection,它实现了ICollection
和IEnumerable
,而不是通用版本ICollection<T>
和IEnumerable<T>
。这是从通用前的日子开始的。
This from Eric Lippert为foreach
的工作原理增加了一些背景知识。