Когда я вхожу в этот оператор foreach
...
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, потому что он действительно отвечает на мой вопрос, но Оливер отвечает на вопрос, который я должен был задавать:)