System.Collection.Generic.List не содержит определения для «Max» WAT???

Бред, бред и еще раз бред!!!
У меня бомбит.
Есть метод возвращающий List.

List<Appartament> objs = GetObjects();
if(objs.Count() > 0)
{
    floors = objs.Max(y => y.Floor);
}

Работает отлично!

Чуть ниже
List<Appartament> objs = GetObjects(Buildings[index]);
floors = objs.Max(y => y.Floor);

error CS1977: Не удается использовать лямбда-выражение в качестве аргумента для динамически отправляемой операции без предварительного преобразования его в делегат или дерево выражений

Вычитал , что для dynamic нужно намутить ковычки. Но у меня не dynamic. Ок. Делаю следующее:
floors = objs.Max("Floor");
Получаю:
"System.Collections.Generic.List" не содержит определения для "Max"

UPD:
Проблема решена:
for(int i = 0; i < obj.Count; i++)
{
    if(objs[i].Floor > floors)
    {
        floors = objs[i].Floor;
    }
    if(objs[i].Section > sections)
    {
        sections = objs[i].Section;
    }
}


Но вопрос остался!
  • Вопрос задан
  • 872 просмотра
Пригласить эксперта
Ответы на вопрос 2
@dmitryKovalskiy
программист средней руки
using System.Linq есть?
Ответ написан
@MonkAlex
C#, SQL, Delphi, C++ etc
stackoverflow.com/questions/29754042/cannot-use-a-...

Советуют парсить значение поля для динамиков.

Что у вас - сами разбирайтесь, но ошибка характерная.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы