我有一个列表,其中包含一堆点(带有X和Y分量)。我想获得列表中所有点的MaxX,如下所示:doublemax=pointList.Max(p=>p.X);问题是当我在列表中有一个空值而不是一个点时。解决此问题的最佳方法是什么? 最佳答案 好吧,你可以过滤掉它们:pointList.Where(p=>p!=null).Max(p=>p.X)另一方面,如果您希望将null视为具有X坐标0(或类似值)的点,您可以这样做:pointList.Max(p=>p==null?0:p.X)请注意,如果序列为空,这两种技术都会抛出异常。一种解决方法
我有一个结合了联接和组的查询,但我遇到了问题。查询如下:varresult=frompinProductsjoinbpinBaseProductsonp.BaseProductIdequalsbp.Idgrouppbyp.SomeIdintopgselectnewProductPriceMinMax{SomeId=pg.FirstOrDefault().SomeId,CountryCode=pg.FirstOrDefault().CountryCode,MinPrice=pg.Min(m=>m.Price),MaxPrice=pg.Max(m=>m.Price),BaseProduct
我有一个带数字的列表,我想使用LINQ找到最小值(不是值)的位置例子:varlst=newList(){3,1,0,5};现在我正在寻找返回我的函数output=2因为最小值在列表中的位置2。 最佳答案 varlist=newList{3,1,0,5};intpos=list.IndexOf(list.Min());//returns2 关于c#-使用LINQ在C#中获取List元素位置,我们在StackOverflow上找到一个类似的问题: https://
假设我有一个这样的数组:string[]Filelist=...我想创建一个Linq结果,其中每个条目在数组中的位置如下:varlist=fromfinFilelistselectnew{Index=(something),Filename=f};第一项的索引为0,第二项的索引为1,依此类推。我应该为表达式Index=使用什么? 最佳答案 不要使用查询表达式。使用theoverloadofSelectwhichpassesyouanindex:varlist=FileList.Select((file,index)=>new{Ind
我希望有人能在这里证明我错了:)如果我这样做:Lista=newList{"b","c","a","aa"};varb=a.OrderBy(o=>o).ToList();我希望“b”的结果是:aaabc相反,我得到的结果是:abcaa如何让OrderBy进行“正确的”字母排序?我完全错了吗?:) 最佳答案 丹麦文化将aa视为å并将其相应地放在ø之后。您可以传递一个与OrderBy行为不同的字符串比较器来改变它:varb=a.OrderBy(o=>o,StringComparer.InvariantCulture).ToList();
我有这个结构Customer-hasmanyOrders-hasmanyOrderItems在给定OrderItems子集的情况下,我想通过LINQ生成CustomerItems列表:Listofnew{Customer,ListItems}这是客户从项目子集中订购的所有项目的分组我如何使用LINQ回溯订单并按客户分组以生成此对象?到目前为止我在做类似的事情items.GroupBy(i=>i,i=>i.Order.Customer,(i,customer)=>new{customer,i})但这显然不是列表。我猜我在某处需要一个SelectMany,但可以使用一些指针。
这个问题在这里已经有了答案:HowtouseLINQtoselectobjectwithminimumormaximumpropertyvalue(20个答案)关闭9年前。请看下表:ItemValueA10b50c90我想找到具有最大值的项目。我可以通过使用groupby或orderding来获得它,但不知何故我觉得应该有更直接的方法。我说得对吗?
我有一个像这样的字符串数组://icon,category,toolString[,]subButtonData=newString[,]{{"graphics/gui/brushsizeplus_icon","Draw","DrawBrushPlus"},{"graphics/gui/brushsizeminus_icon","Draw","DrawBrushMinus"},{"graphics/gui/freedraw_icon","Draw","DrawFree"},{"graphics/gui/linedraw_icon","Draw","DrawLine"},{"graphi
如何从List中获取最接近的数字使用LINQ?例如:Listnumbers=newList();numbers.Add(2);numbers.Add(5);numbers.Add(7);numbers.Add(10)我需要在列表中找到最接近数字9的值。在本例中为10。如何使用LINQ执行此操作? 最佳答案 如果您使用LINQtoObjects列表很长,我会使用:Listlist=newList{2,5,7,10};intnumber=9;intclosest=list.Aggregate((x,y)=>Math.Abs(x-numb
publicListGetpathsById(Listid){long[]aa=id.ToArray();longx;Listpaths=newList();for(inti=0;im.PresId==aa[i]).FirstOrDefault();paths.Add(press.FilePath);}returnpaths;}此代码引发以下异常:LINQtoEntities不支持LINQ表达式节点类型“ArrayIndex”。但是,如果我提供x而不是aa[i]它会起作用。为什么? 最佳答案 要解决此问题,请使用临时变量:vartm