Страницы

Поиск по вопросам

пятница, 5 апреля 2019 г.

DataRow[] + расширение LINQ

Есть массив строк DataRow[] datarows. Одна из колонок имеет имя Sum. Как получить максимальное значение по данной колонке при помощи расширения LINQ? Спасибо.


Ответ

Если оставить в стороне то, что вы работаете с массивом DataRow, а ответить на конкретно поставленный вопрос, то поиск максимального элемента не будет сильно отличатся от поиска элемента в массиве содержащим в себе объекты определенного класса.
Вы можете получить доступ к столбцам DataRow используя индексаторы (по названию столбца или индексу (отсчет от 0)), которые вернут объект типа object.
Также можно добавить ссылку на System.Data.DataSetExtensions.dll и воспользоваться методами расширения Field, которые предоставляют строго типизированный доступ к вашим столбцам.
Таким образом ваш код будет примерно следующим:
var max = datarows .Select(x => x.Field("Sum")) .Max();

Комментариев нет:

Отправить комментарий