通用列表.首先不工作LINQ

Mar*_*way 13 c# 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());
Run Code Online (Sandbox Code Playgroud)

继续投掷

System.Collections.Generic.List'不包含'First'的定义,也没有扩展方法'First'接受类型为'System.Collections.Generic.List'的第一个参数'(你是否缺少using指令或装配参考?)

出了什么问题?

而且我该如何修复它?

谢谢

Phi*_*ert 41

你应该把它添加到你的using陈述中:

using System.Linq;
Run Code Online (Sandbox Code Playgroud)

  • 就是这样...... Intellisense 也没有建议我添加它。我一直看到 (System.Data.Linq) 并认为我很好。 (2认同)

Jon*_*eet 6

要检查的一些事项:

  • 您的目标是.NET 3.5或更高版本(或者您正在使用LINQBridge)
  • 您有对System.Core程序集的引用
  • 你有一个using指令 System.Linq

基本上错误信息表明...

编辑:此外,您当前的代码可以更简单:

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

此外,如果你实际上正在使用a List<T>那么你也可以使用list[0]而不是list.First():)如果列表为空,两者都将抛出异常,当然,异常会有所不同.