Подтвердить что ты не робот

Общий список. Сначала не работает LINQ

        var stuff = ctx.spReport();
        var StuffAssembled = new List<ReportCLS>();
        var val = new List<ReportCLS>();
        foreach (var item in stuff)
        {
            StuffAssembled.Add(new ReportCLS(item));

        }

        val.Add(StuffAssembled.First());

Сохраняет бросок

System.Collections.Generic.List 'не содержит определения для "First" и не используется метод расширения "First", принимающий первый аргумент типа "System.Collections.Generic.List" (вы не видите используя директиву или ссылку на сборку?)

что происходит не так?

Кроме того, как я его исправить?

Спасибо

4b9b3361

Ответ 1

вы должны добавить это в свои инструкции using:

using System.Linq;

Ответ 2

Несколько вещей, чтобы проверить:

  • Вы ориентируетесь на .NET 3.5 или выше (или используете LINQBridge)
  • У вас есть ссылка на сборку System.Core.
  • У вас есть директива using для System.Linq

В основном это сообщение об ошибке...

EDIT: Кроме того, ваш текущий код может быть намного проще:

 var stuff = ctx.spReport();
 var stuffAssembled = stuff.Select(x => new ReportCLS(x)).ToList(); 
 var val = new List<ReportCLS> { stuffAssembled.First() };

Кроме того, если вы на самом деле используете List<T>, тогда вы можете просто использовать list[0] вместо list.First():) Оба будут генерировать исключение, если список пуст, хотя исключение будет отличаться от Конечно.

Ответ 3

Эта ошибка времени компиляции обычно возникает, когда вы

  • забыли включить импорт для расширений LINQ (используя System.Linq)
  • забыл ссылку на сборку с расширениями LINQ
  • таргетинг 2.0 framework, который по умолчанию не включает LINQ