C# 奇怪的Linq问题
下面两个有什么区别?第一个1有效,但第二个1出错,说明找不到“Select”。我不明白为什么 第一: 第二:C# 奇怪的Linq问题,c#,.net,linq,C#,.net,Linq,下面两个有什么区别?第一个1有效,但第二个1出错,说明找不到“Select”。我不明白为什么 第一: 第二: select与IEnumerable一起使用,您尝试在FirstOrDefault 重写如下: Office Office = (from o in cHelper.Offices where o.IP3rdOctet == OSHelper.Get3rdOctetOfMyIP() select o).FirstOrDefa
select
与IEnumerable
一起使用,您尝试在FirstOrDefault
重写如下:
Office Office = (from o in cHelper.Offices
where o.IP3rdOctet == OSHelper.Get3rdOctetOfMyIP()
select o).FirstOrDefault();
select
与IEnumerable
一起使用,您尝试在FirstOrDefault
重写如下:
Office Office = (from o in cHelper.Offices
where o.IP3rdOctet == OSHelper.Get3rdOctetOfMyIP()
select o).FirstOrDefault();
这不是一个
IEnumerable
或IQueryable
,它是Office
的一个实例:
cHelper.Offices.Where(o => o.IP3rdOctet
== OSHelper.Get3rdOctetOfMyIP()).FirstOrDefault()
你不能在那上面调用select
。删除对FirstOrDefault()
的调用,然后您将能够选择结果(如果没有与您的条件匹配的项目,则结果将为空)
如果仍然需要FirstOrDefault
项,则将查询放在括号中,并像下面这样附加FirstOrDefault()
:
Office Office = (from o in cHelper.Offices
where o.IP3rdOctet == OSHelper.Get3rdOctetOfMyIP()
select o).FirstOrDefault();
这不是一个
IEnumerable
或IQueryable
,它是Office
的一个实例:
cHelper.Offices.Where(o => o.IP3rdOctet
== OSHelper.Get3rdOctetOfMyIP()).FirstOrDefault()
你不能在那上面调用select
。删除对FirstOrDefault()
的调用,然后您将能够选择结果(如果没有与您的条件匹配的项目,则结果将为空)
如果仍然需要FirstOrDefault
项,则将查询放在括号中,并像下面这样附加FirstOrDefault()
:
Office Office = (from o in cHelper.Offices
where o.IP3rdOctet == OSHelper.Get3rdOctetOfMyIP()
select o).FirstOrDefault();
不确定为什么在已经获得firstordefault的情况下执行from/select。不确定为什么混合使用不同的样式(查询语法和扩展方法语法)这两个概念都使用List为我编译@Spacebison:尝试使用列表,它不会工作。我认为这是调用方法参数的正常推理类型?@SpaceBison字符串可以作为字符集合进行查询。不能查询办公室-办公室可能有集合,但它不是集合。因此,无法解析对Select的调用(既不是可枚举的。Select也不是可查询的。Select apply,office也没有实现Select本身)。不确定在已经获得firstordefault的情况下为什么要执行from/Select。不确定为什么要混合不同的样式(查询语法与扩展方法语法)这两个概念为我编译使用列表@Spacebison:尝试使用列表,它不会工作。我认为这是调用方法参数的正常推理类型?@SpaceBison字符串可以作为字符集合进行查询。不能查询办公室-办公室可能有集合,但它不是集合。因此,无法解析对Select的调用(既不可枚举。Select也不可查询。Select apply,office未实现Select本身)。