當我進入這個foreach
聲明...爲什麼var在「foreach(var row in table.Rows)」中評估爲System.Object?
foreach (var row in table.Rows)
... var的提示說class System.Object
我很困惑,爲什麼它不是class System.Data.DataRow
。
(如果你想知道,是的,我有using System.Data
我的代碼文件的頂部)。
如果我顯式聲明的類型,如...
foreach (DataRow row in table.Rows)
...它工作正常,沒有錯誤。
另外,如果我做...
var numbers = new int[] { 1, 2, 3 };
foreach (var number in numbers)
... VAR的計算結果爲struct System.Int32
。所以,問題不是var
在foreach
子句中不起作用。
所以,有一些奇怪DataRowCollection
在項目不自動計算爲DataRow
。但我無法弄清楚它是什麼。有沒有人有解釋?
更新
我真的很撕裂,其回答標記(Codeka和Oliver)......最終,我決定以紀念Codeka的,因爲它真實地回答我的問題,但奧利弗回答問題我應該一直在問:)
大點! +1 – 2010-05-07 10:26:56
喜歡這個答案。 +1 – wonea 2011-10-25 13:14:20