2017-02-17 25 views
0

在Visual Studio 2015年(.NET 4.5,ASP.NET C#)以下的編譯和運行:你爲什麼要在foreach循環中顯式聲明GridViewRow的類型

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一起使用。

回答

4

因爲RowsGridViewRowCollection它實現ICollectionIEnumerable,但不仿製藥ICollection<T>IEnumerable<T>。這是從通用前幾天開始的。

This from Eric Lippertforeach的工作方式增加了一些背景知識。

+0

啊,這是有道理的。我的齒輪磨了大約10分鐘。 – Halter

相關問題