草庐IT

c# - 您将如何使用 LINQ 执行 "not in"查询?

我有两个集合,它们在两个集合中都有属性Email。我需要获取第一个列表中的项目列表,其中Email在第二个列表中不存在。对于SQL,我只会使用“notin”,但我不知道LINQ中的等价物。这是怎么做到的?到目前为止我有一个连接,比如...varmatches=fromitem1inlist1joinitem2inlist2onitem1.Emailequalsitem2.Emailselectnew{Email=list1.Email};但我无法加入,因为我需要差值,而且加入会失败。我相信我需要某种使用Contains或Exists的方法。我只是还没有找到这样做的例子。

c# - 如何使用 LINQ 获取索引?

这个问题在这里已经有了答案:GetListelementpositioninc#usingLINQ(11个答案)HowtogettheindexofanelementinanIEnumerable?(12个答案)关闭8年前。给定这样的数据源:varc=newCar[]{newCar{Color="Blue",Price=28000},newCar{Color="Red",Price=54000},newCar{Color="Pink",Price=9999},//..};如何使用LINQ找到满足特定条件的第一辆车的索引?编辑:我能想到这样的东西,但它看起来很糟糕:intfirstIte

c# - 将 Linq 查询结果转换为字典

我想使用LinqtoSQL将一些行添加到数据库中,但我想在添加行之前进行“自定义检查”以了解我是否必须添加、替换或忽略传入的行。我希望尽可能降低客户端和数据库服务器之间的流量,并尽量减少查询数量。为此,我想获取验证所需的尽可能少的信息,并且只在流程开始时获取一次。我正在考虑做这样的事情,但显然,它行不通。有人有想法吗?DictionaryexistingItems=(fromObjTypeotinTableObjselect(newKeyValuePair(ot.Key,ot.TimeStamp)))我最后想要的是一个字典,而不必从TableObject下载整个ObjectType对象

c# - 使用 LINQ 连接字符串

什么是最有效的写老派的方法:StringBuildersb=newStringBuilder();if(strings.Count>0){foreach(stringsinstrings){sb.Append(s+",");}sb.Remove(sb.Length-2,2);}returnsb.ToString();...在LINQ中? 最佳答案 此答案显示了问题中要求的LINQ(Aggregate)的用法,并不适合日常使用。因为这不使用StringBuilder,所以对于很长的序列,它的性能会很差。对于常规代码,请使用String

c# - 使用 LINQ 保留顺序

我在有序数组上使用LINQtoObjects指令。我不应该做哪些操作来确保数组的顺序没有改变? 最佳答案 我检查了System.Linq.Enumerable的方法,丢弃任何返回非IEnumerable结果的结果。我检查了每个人的备注以确定结果的顺序与源的顺序有何不同。绝对保持秩序。您可以通过索引将源元素映射到结果元素可枚举Actor连接选择到数组列表保留顺序。过滤或添加元素,但不重新排序。与众不同除了相交类型前置(.net4.7.1中的新功能)跳过略过拿暂缓地点Zip(.net4中的新功能)破坏秩序——我们不知道期望结果是什么秩序

c# - 使用 LINQ 将列表拆分为子列表

有什么方法可以分离List分成几个单独的列表SomeObject,使用项目索引作为每个拆分的分隔符?举个例子:我有一个List我需要一个List>或List[],因此每个结果列表都将包含一组原始列表的3个项目(按顺序)。例如:原始列表:[a,g,e,w,p,s,q,f,x,y,i,m,c]结果列表:[a,g,e],[w,p,s],[q,f,x],[y,i,m],[c]我还需要生成的列表大小作为此函数的参数。 最佳答案 试试下面的代码。publicstaticList>Split(IListsource){returnsource.S

c# - 无法在 LINQ to Entities 查询中构造实体

EntityFramework生成了一个名为Product的实体类型。我写了这个查询publicIQueryableGetProducts(intcategoryID){returnfrompindb.Productswherep.CategoryID==categoryIDselectnewProduct{Name=p.Name};}下面的代码会抛出以下错误:"TheentityorcomplextypeShop.ProductcannotbeconstructedinaLINQtoEntitiesquery"varproducts=productRepository.GetProd

c# - LINQ .Any VS .Exists - 有什么区别?

在集合上使用LINQ,以下代码行之间有什么区别?if(!coll.Any(i=>i.Value))和if(!coll.Exists(i=>i.Value))更新1当我反汇编.Exists时,它看起来好像没有代码。更新2有人知道为什么这里没有代码吗? 最佳答案 查看文档List.Exists(对象方法-MSDN)DetermineswhethertheList(T)containselementsthatmatchtheconditionsdefinedbythespecifiedpredicate.自.NET2.0以来就存在,所以在

c# - 使用 LINQ 和 Lambda 加入/在何处

我在使用LINQ和Lambda编写的查询时遇到问题。到目前为止,我遇到了很多错误,这是我的代码:intid=1;varquery=database.Posts.Join(database.Post_Metas,post=>database.Posts.Where(x=>x.ID==id),meta=>database.Post_Metas.Where(x=>x.Post_ID==id),(post,meta)=>new{Post=post,Meta=meta});我刚开始使用LINQ,所以我不确定这个查询是否正确。 最佳答案 我发现

c# - LINQ Orderby 降序查询

我有一个LINQ查询,我想按最近创​​建的日期排序。我试过:varitemList=fromtinctn.Itemswhere!t.Items&&t.DeliverySelectionorderbyt.Delivery.SubmissionDatedescendingselectt;我也试过:varitemList=(fromtinctn.Itemswhere!t.Items&&t.DeliverySelectionselectt).OrderByDescending();但这给出了一个错误:Nooverloadformethod'OrderByDescending'takes0arg