Группировка данных по проблеме r.Поле

#c# #linq

#c# #linq

Вопрос:

я искал группу данных по параметру и нашел решение в stackoverflow.

 DataTable t = //
var groups = t.AsEnumerable()
    .GroupBy(r => r.Field<T>("columnName"))
  

Что это значит … r.Field<T> . почему Field<T> ?
Я не могу здесь указать r.Field<Customer> .

Ответ №1:

читать http://blogs.msdn.com/b/adonet/archive/2007/02/05/type-safety-linq-to-datasets-part-2.aspx

Отредактировано:

1) почему поле?

Field<T> метод: DataTable не является типизированным, значения должны быть сохранены как object. таким образом, метод Field возвращает значение столбца с параметром универсального типа, что позволяет проверять тип.

Если это типизированный DataTable, то вы можете Field<Customer.ID>