草庐IT

Linq2XSD

全部标签

c# - LINQ:不是任何 vs 全部都不是

我经常想检查提供的值是否与列表中的值匹配(例如,在验证时):if(!acceptedValues.Any(v=>v==someValue)){//exceptionlogic}最近,我注意到ReSharper要求我将这些查询简化为:if(acceptedValues.All(v=>v!=someValue)){//exceptionlogic}显然,这在逻辑上是相同的,也许可读性稍强(如果您做过大量数学运算),我的问题是:这会导致性能下降吗?感觉它应该(即.Any()听起来像是短路,而.All()听起来好像没有),但我有没有什么可以证实这一点。有没有人更深入地了解查询是否会解决相同的问

c# - 使用 Linq 获取集合的最后 N 个元素?

给定一个集合,有没有办法获取该集合的最后N个元素?如果框架中没有方法,那么编写扩展方法来执行此操作的最佳方法是什么? 最佳答案 collection.Skip(Math.Max(0,collection.Count()-N));这种方法保留了项目顺序而不依赖于任何排序,并且在多个LINQ提供程序之间具有广泛的兼容性。注意不要用负数调用Skip,这一点很重要。某些提供程序(例如EntityFramework)在出现否定参数时会产生ArgumentException。对Math.Max的调用巧妙地避免了这种情况。下面的类具有扩展方法的所

c# - 使用 Linq 获取集合的最后 N 个元素?

给定一个集合,有没有办法获取该集合的最后N个元素?如果框架中没有方法,那么编写扩展方法来执行此操作的最佳方法是什么? 最佳答案 collection.Skip(Math.Max(0,collection.Count()-N));这种方法保留了项目顺序而不依赖于任何排序,并且在多个LINQ提供程序之间具有广泛的兼容性。注意不要用负数调用Skip,这一点很重要。某些提供程序(例如EntityFramework)在出现否定参数时会产生ArgumentException。对Math.Max的调用巧妙地避免了这种情况。下面的类具有扩展方法的所

c# - 使用 Lambda/Linq to objects 对列表进行排序

我在字符串中有“按属性排序”的名称。我需要使用Lambda/Linq对对象列表进行排序。例如:publicclassEmployee{publicstringFirstName{set;get;}publicstringLastName{set;get;}publicDateTimeDOB{set;get;}}publicvoidSort(refListlist,stringsortBy,stringsortDirection){//Exampledata://sortBy="FirstName"//sortDirection="ASC"or"DESC"if(sortBy=="Firs

c# - 使用 Lambda/Linq to objects 对列表进行排序

我在字符串中有“按属性排序”的名称。我需要使用Lambda/Linq对对象列表进行排序。例如:publicclassEmployee{publicstringFirstName{set;get;}publicstringLastName{set;get;}publicDateTimeDOB{set;get;}}publicvoidSort(refListlist,stringsortBy,stringsortDirection){//Exampledata://sortBy="FirstName"//sortDirection="ASC"or"DESC"if(sortBy=="Firs

C# Linq Group By 多列

这个问题在这里已经有了答案:GroupByMultipleColumns(14个答案)关闭7年前。publicclassConsolidatedChild{publicstringSchool{get;set;}publicstringFriend{get;set;}publicstringFavoriteColor{get;set;}publicListChildren{get;set;}}publicclassChild{publicstringSchool{get;set;}publicstringName{get;set;}publicstringAddress{get;set

C# Linq Group By 多列

这个问题在这里已经有了答案:GroupByMultipleColumns(14个答案)关闭7年前。publicclassConsolidatedChild{publicstringSchool{get;set;}publicstringFriend{get;set;}publicstringFavoriteColor{get;set;}publicListChildren{get;set;}}publicclassChild{publicstringSchool{get;set;}publicstringName{get;set;}publicstringAddress{get;set

c# - 使用 linq 删除列表中的重复项

我有一个Items类,带有properties(Id,Name,Code,Price)。Items列表中填充了重复的项目。例如:1Item1IT00001$1002Item2IT00002$2003Item3IT00003$1501Item1IT00001$1003Item3IT00003$150如何使用linq删除列表中的重复项? 最佳答案 vardistinctItems=items.GroupBy(x=>x.Id).Select(y=>y.First()); 关于c#-使用linq

c# - 使用 linq 删除列表中的重复项

我有一个Items类,带有properties(Id,Name,Code,Price)。Items列表中填充了重复的项目。例如:1Item1IT00001$1002Item2IT00002$2003Item3IT00003$1501Item1IT00001$1003Item3IT00003$150如何使用linq删除列表中的重复项? 最佳答案 vardistinctItems=items.GroupBy(x=>x.Id).Select(y=>y.First()); 关于c#-使用linq

c# - LINQ to SQL 中内部联接的语法是什么?

我正在编写一个LINQtoSQL语句,我正在使用C#中的ON子句进行普通内部联接的标准语法。如何在LINQtoSQL中表示以下内容:selectDealerContact.*fromDealerinnerjoinDealerContactonDealer.DealerID=DealerContact.DealerID 最佳答案 它是这样的:fromt1indb.Table1joint2indb.Table2ont1.fieldequalst2.fieldselectnew{t1.field2,t2.field3}最好为您的表设置合理