草庐IT

LINQ_ENABLED

全部标签

c# - 使用 LINQ 检查列表是否为空

确定列表是否为空的“最佳”(同时考虑速度和可读性)方法是什么?即使列表的类型是IEnumerable并且没有Count属性。现在我在这两者之间犹豫不决:if(myList.Count()==0){...}还有这个:if(!myList.Any()){...}我的猜测是第二个选项更快,因为它会在看到第一个项目时立即返回结果,而第二个选项(对于IEnumerable)将需要访问每个项目以返回计数.话虽这么说,第二个选项对您来说是否可读?你更喜欢哪个?或者您能想出更好的方法来测试空列表吗?编辑@lassevk的响应似乎是最合乎逻辑的,再加上一些运行时检查以尽可能使用缓存计数,如下所示:pub

c# - 使用 Linq 将对象列表分组为新的对象列表分组列表

我不知道这在Linq中是否可行,但这里...我有一个对象:publicclassUser{publicintUserID{get;set;}publicstringUserName{get;set;}publicintGroupID{get;set;}}我返回一个可能如下所示的列表:ListuserList=newList();userList.Add(newUser{UserID=1,UserName="UserOne",GroupID=1});userList.Add(newUser{UserID=2,UserName="UserTwo",GroupID=1});userList.

c# - LINQ to Entities 仅支持无参数构造函数和初始值设定项

我在这个linq表达式中有这个错误:varnaleznosci=(fromnalTmpindb.NaleznosciwherenalTmp.idDziecko==idDziecselectnewPayments(nalTmp.Dziecko.Imie,nalTmp.Dziecko.Nazwisko,nalTmp.Miesiace.Nazwa,nalTmp.Kwota,nalTmp.RodzajeOplat.NazwaRodzajuOplaty,nalTmp.RodzajeOplat.TypyOplat.NazwaTypuOplaty,nalTmp.DataRozliczenia,nal

c# - 从 Linq 中的列表中选择多个字段

在ASP.NETC#中我有一个结构:publicstructData{publicintitem1;publicintitem2;publicintcategory_id;publicstringcategory_name;}我有一份list。我想选择category_id和category_name,运行DISTINCT,最后在category_nameORDERBY.这是我现在拥有的:ListlistObject=getData();string[]catNames=listObject.Select(i=>i.category_name).Distinct().OrderByDe

c# - 如何让 LINQ 返回具有给定属性最大值的对象?

这个问题在这里已经有了答案:Howtoperform.Max()onapropertyofallobjectsinacollectionandreturntheobjectwithmaximumvalue[duplicate](9个回答)HowtouseLINQtoselectobjectwithminimumormaximumpropertyvalue(21个回答)关闭7年前。如果我有一个看起来像这样的类:publicclassItem{publicintClientID{get;set;}publicintID{get;set;}}以及这些项目的集合...Listitems=get

c# - 通过 LINQ 将函数应用于集合的所有元素

这个问题在这里已经有了答案:LINQequivalentofforeachforIEnumerable(22个答案)关闭6年前。我最近开始使用LINQ,它非常棒。我想知道LINQ是否允许我在不使用foreach的情况下将函数-任何函数-应用于集合的所有元素。类似于pythonlambda函数。例如,如果我有一个int列表,我可以使用LINQ向每个元素添加一个常量吗如果我有一个数据库表,我可以使用LINQ为所有记录设置一个字段吗?我正在使用C#

c# - 正确的 LINQ where 子句

我在日常生活中写了相当多的LINQ,但大多是简单的语句。我注意到在使用where子句时,有很多方法可以编写它们,而且据我所知,每种方法都有相同的结果。例如:fromxinCollectionwherex.Age==10wherex.Name=="Fido"wherex.Fat==trueselectx;至少就结果而言,似乎与此等效:fromxinCollectionwherex.Age==10&&x.Name=="Fido"&&x.Fat==trueselectx;那么除了语法之外真的有区别吗?如果是这样,首选样式是什么?为什么? 最佳答案

c# - linq select 中的异步等待

我需要修改现有程序,它包含以下代码:varinputs=events.Select(asyncev=>awaitProcessEventAsync(ev)).Select(t=>t.Result).Where(i=>i!=null).ToList();但这对我来说似乎很奇怪,首先是在select中使用async和await。根据thisanswer斯蒂芬·克利里(StephenCleary)我应该可以放弃那些。然后是选择结果的第二个Select。这是否意味着任务根本不是异步的而是同步执行的(如此多的努力是白费力气),或者任务将异步执行并在完成后执行其余的查询?我是不是应该按照anoth

c# - 使用 linq 将列表转换为字典而不用担心重复

我有一个Person对象列表。我想转换为字典,其中键是名字和姓氏(串联),值是Person对象。问题是我有一些重复的人,所以如果我使用这段代码就会爆炸:privateDictionary_people=newDictionary();_people=personList.ToDictionary(e=>e.FirstandLastName,StringComparer.OrdinalIgnoreCase);我知道这听起来很奇怪,但我现在并不真正关心重复名称。如果有多个名字,我只想拿一个。无论如何,我是否可以在上面编写这段代码,以便它只采用其中一个名称并且不会在重复项上爆炸?

c# - LINQ To Entities 无法识别 Last 方法。真的吗?

在这个查询中:publicstaticIEnumerableGetUpdated(){varcontext=DataContext.GetDataContext();returncontext.ServerOnlineCharacters.OrderBy(p=>p.ServerStatus.ServerDateTime).GroupBy(p=>p.RawName).Select(p=>p.Last());}我必须将它切换到这个才能工作publicstaticIEnumerableGetUpdated(){varcontext=DataContext.GetDataContext();r