2017-02-17 5 views
0

(.NET 4.5、ASP.NET C#)以下のコンパイルと実行:は、なぜあなたは明示的にforeachループでGridViewRowの型を宣言しなければならないのVisual Studioの2015年に

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で動作すると思った。 Rowsため

答えて

4

ICollectionIEnumerableではなく、一般的なバージョンICollection<T>IEnumerable<T>実装GridViewRowCollectionです。それは、一般的な前の日から支配しています。

This from Eric Lippertは、foreachがどのように機能するかについての背景を追加します。

+0

ああ、意味があります。私の歯車は約10分間研削していた。 – Halter

関連する問題