C# 通用列表。首先,LINQ不工作 var stuff=ctx.spReport(); var StuffAssembled=新列表(); var val=新列表(); foreach(stuff中的var项) { 添加(新报告CLS(项目)); } val.Add(stuff.First());

C# 通用列表。首先,LINQ不工作 var stuff=ctx.spReport(); var StuffAssembled=新列表(); var val=新列表(); foreach(stuff中的var项) { 添加(新报告CLS(项目)); } val.Add(stuff.First());,c#,linq,C#,Linq,不停地扔 System.Collections.Generic.List不包含“First”的定义,并且找不到接受“System.Collections.Generic.List”类型的第一个参数的扩展方法“First”(是否缺少using指令或程序集引用?) 出什么事了 此外,我如何修复它 谢谢您应该使用语句将其添加到您的: var stuff = ctx.spReport(); var StuffAssembled = new List<ReportCL

不停地扔

System.Collections.Generic.List不包含“First”的定义,并且找不到接受“System.Collections.Generic.List”类型的第一个参数的扩展方法“First”(是否缺少using指令或程序集引用?)

出什么事了

此外,我如何修复它


谢谢

您应该使用语句将其添加到您的

        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());
需要检查的几件事:

  • 您的目标是.NET3.5或更高版本(或者您正在使用LINQBridge)
  • 您有对System.Core程序集的引用
  • 您有一个用于
    System.Linq的using指令
基本上是错误消息所暗示的

编辑:此外,您当前的代码可能要简单得多:

using System.Linq;
var stuff=ctx.spReport();
var stuffAssembled=stuff.Select(x=>newreportcls(x)).ToList();
var val=新列表{stuffAssembled.First()};

另外,如果您实际使用的是
列表
,那么您也可以使用
列表[0]
而不是
列表。首先()
:)如果列表为空,两者都会引发异常,当然异常会有所不同。

此编译时错误通常在您

  • 忘记包含LINQ扩展的导入(使用System.LINQ)
  • 忘记引用具有LINQ扩展的程序集
  • 目标2.0框架,默认情况下不包括LINQ

就是这样。。。Intellisense也没有建议我添加它。我一直在看(System.Data.Linq),觉得自己很好。
 var stuff = ctx.spReport();
 var stuffAssembled = stuff.Select(x => new ReportCLS(x)).ToList(); 
 var val = new List<ReportCLS> { stuffAssembled.First() };