草庐IT

c# - 如何使用 linQ 访问列表中的上一个项目?

我有:ListA=newList(){1,2,3,4,5,6};Listm=newList();for(inti=1;i我如何使用LinQ执行相同的操作? 最佳答案 嗯,一个简单的翻译是:varm=Enumerable.Range(1,A.Count-1).Select(i=>A[i]+A[i-1]).ToList();但也要考虑:varm=A.Skip(1).Zip(A,(curr,prev)=>curr+prev).ToList();或者使用JonSkeet的分机here:varm=A.SelectWithPrevious((p

时间:2018-01-08 标签:c#linq: how to retrieve a single result

对linq有点陌生,使用linq检索单个结果的最简单方法是什么?例子,我的查询varquery=fromcindb.productInfowherec.flavor=="ClassicCoke"&&c.container=="Can"selectc.co2Target;它应该只返回一个具有double值的字段。我如何将其从查询中拉出来?过去我使用过ExecuteScalar。我如何用linq做到这一点?我想保留它的数据类型更新:这就是我现在的位置。问题是我在这里运行的测试查询返回4而不是3.75varquery=(fromaindb.LUT_ProductInfoswherea.fla

c# - 在 LINQ 查询 'if' 语句中实现条件 'where' 语句

我正在尝试找出一种在我的数据模型中查询对象的方法,并且只包含那些不为空的参数。如下所示:publicListGetWidgets(stringcond1,stringcond2,stringcond3){MyDataContextdb=newMyDataContext();Listwidgets=(fromwindb.Widgetswhere...ifcond1!=nullw.condition1==cond1......ifcond2!=nullw.condition2==cond2......ifcond3!=nullw.condition3==cond3...selectw).T

c# - 如何使用 LINQ 执行不区分大小写的 GUID 比较?

在下面的代码中,我想比较两个GUID。问题是我没有返回任何任务,因为GUID的大小写不同(大写与小写)。我需要执行不区分大小写的比较。MembershipUsermembershipUser=Membership.GetUser();stringstrUserId=membershipUser.ProviderUserKey.ToString();GuiduserId=newGuid(strUserId.ToUpper());lblUserId.Text=userId.ToString();DataModelEntitiesdc=newDataModelEntities();varus

c# - 命名空间 'Linq' 中不存在类型或命名空间名称 'System'

这个问题在这里已经有了答案:Thetypeornamespacename'Linq'doesnotexistinthenamespace'System'(10个答案)关闭5年前。当我想使用按钮在C#中编写代码时,它不会转到“.cs”文件来编写C#代码。当我检查项目源时,我发现了这个错误:usingSystem;usingSystem.Collections.Generic;usingSystem.Linq;usingSystem.Web;usingSystem.Web.UI;usingSystem.Web.UI.WebControls;SeverityCodeDescriptionPr

c# - 检查 IEnumerable<T> 是否有具有重复属性的项目

如何检查IEnumerable是否有两个或多个具有相同属性值的项目?例如一个类publicclassItem{publicintProp1{get;set;}publicstringProp2{get;set;}}然后是IEnumerable类型的集合如果Prop1中存在具有重复值的项目,我需要返回false。 最佳答案 您只想检查Prop1对吗?关于:IEnumerableitems=...varnoDistinct=items.GroupBy(x=>x.Prop1).All(x=>x.Count()==1);//itreturn

c# - 检查 List<Int32> 值是否连续

ListdansConList=newList();dansConList[0]=1;dansConList[1]=2;dansConList[2]=3;ListdansRandomList=newList();dansRandomList[0]=1;dansRandomList[1]=2;dansRandomList[2]=4;我需要一个方法,在评估上述列表时,将返回false对于dansRandomList和true对于dansConList基于事实dansConList在它的值中有一个连续的数字序列,而dansRandomList没有(缺少值3)。如果可能,最好使用LINQ。我尝

c# - 哪个更快 : Union or Concat?

哪个更快:Union或Concat?我不关心元素的顺序。Enumerable.UnionMethodEnumerable.ConcatMethod 最佳答案 Union删除重复项。Concat没有。因此,如果源包含任何共同项或具有任何内部重复项,它们会产生不同的结果。如果您可以保证没有重复项,或者如果重复项很少并且您不关心在输出中包含它们,Concat会更快,因为不需要根据已经产生的值来测试每个值。但是,如果有很多重复项而您不需要它们,则Union中的额外处理删除重复项可能会被使用结果的代码中的节省所抵消。

c# - LINQ to Entities - 查询中的 Where IN 子句

这个问题在这里已经有了答案:关闭12年前。PossibleDuplicates:LinqtoEntities-Sql“IN”clauseHowtoimplementSQL“in”inEntityframework4.0我如何添加WHEREIN语句,例如...SELECT*FROMmyTableWHEREIDIN(1,2,3,4,5)在EntityFramework中

c# - 如何将两种类型的 C# 列表合并为一种?

我创建了两个列表,比如X和Y。这两个列表属于不同类型。(即ListX和ListY)。这两个列表中的值不同。但是有一个DateTime这两个列表中的字段。我需要根据date对这些列表进行排序字段。我有单独的函数来打印列表A和列表B的详细信息。假设排序后的列表是这样的来自列表A的元组,来自列表B的元组,来自列表A的元组,来自列表B的元组,我的目的是遍历此列表并调用适当的函数来显示详细信息。即,如果元组来自列表A,则调用函数打印列表A的详细信息,反之亦然。 最佳答案 您可以创建一个接口(interface)来托管您的常用属性和函数,然后在