草庐IT

LINQ_ENABLED

全部标签

c# - LINQ - 查询语法与方法链和 lambda

按照目前的情况,这个问题不适合我们的问答形式。我们希望答案得到事实、引用或专业知识的支持,但这个问题可能会引发辩论、争论、投票或扩展讨论。如果您觉得这个问题可以改进并可能重新打开,visitthehelpcenter指导。关闭11年前。在选择在其中一种LINQ扩展方法中使用LINQ查询语法或Lambda表达式时,是否有人遵守任何规则(或者您是否被雇主强制遵守任何规则?)?这适用于任何实体、SQL、对象等等。在我们的工作场所,我的老板根本不喜欢lambda,他对任何事情都使用查询语法,在某些情况下,我发现这种语法可读性较差。varnames=collection.Select(item=

c# - LINQ Joining in C# with multiple conditions

我在C#中有一个包含多个条件的LINQJoining语句。varpossibleSegments=fromeplineventPotentialLegsjoinsdinsegmentDurationsonnew{epl.ITARequestID,epl.ITASliceNumber,epl.DepartAirportAfter,epl.AirportId_Origin,epl.AirportId_Destination}equalsnew{sd.ITARequestId,sd.SliceIndex,sd.OriginAirport,sd.DestinationAirport}where

c# - LINQ Joining in C# with multiple conditions

我在C#中有一个包含多个条件的LINQJoining语句。varpossibleSegments=fromeplineventPotentialLegsjoinsdinsegmentDurationsonnew{epl.ITARequestID,epl.ITASliceNumber,epl.DepartAirportAfter,epl.AirportId_Origin,epl.AirportId_Destination}equalsnew{sd.ITARequestId,sd.SliceIndex,sd.OriginAirport,sd.DestinationAirport}where

c# - 是否有将单个项目添加到 IEnumerable<T> 的 Linq 方法?

我正在尝试做这样的事情:image.Layers返回IEnumerable对于除Parent之外的所有层层,但在某些情况下,我只想做:image.Layers.With(image.ParentLayer);因为与image.Layers满足的100多个常用用法相比,它只在少数地方使用.这就是为什么我不想创建另一个也返回Parent的属性层。 最佳答案 一种方法是从项目(例如数组)中创建一个单例序列,然后将其Concat到原始序列上:image.Layers.Concat(new[]{image.ParentLayer})如果您经常

c# - 是否有将单个项目添加到 IEnumerable<T> 的 Linq 方法?

我正在尝试做这样的事情:image.Layers返回IEnumerable对于除Parent之外的所有层层,但在某些情况下,我只想做:image.Layers.With(image.ParentLayer);因为与image.Layers满足的100多个常用用法相比,它只在少数地方使用.这就是为什么我不想创建另一个也返回Parent的属性层。 最佳答案 一种方法是从项目(例如数组)中创建一个单例序列,然后将其Concat到原始序列上:image.Layers.Concat(new[]{image.ParentLayer})如果您经常

c# - 使用 LINQ 在 C# 中对列表进行排序

我想用C#对列表进行排序。就像结构属性AVC变为真然后首先显示它们然后AVC变为假。有什么方法可以在C#LINQ中执行此操作? 最佳答案 嗯,使用LINQ的最简单方法是这样的:list=list.OrderBy(x=>x.AVC?0:1).ToList();或list=list.OrderByDescending(x=>x.AVC).ToList();我相信bool的自然排序值为false,但第一种形式使IMO更清晰,因为每个人都知道0.请注意,这不会对原始列表本身进行排序-它会创建一个新列表,并将引用分配回list多变的。如果你想

c# - 使用 LINQ 在 C# 中对列表进行排序

我想用C#对列表进行排序。就像结构属性AVC变为真然后首先显示它们然后AVC变为假。有什么方法可以在C#LINQ中执行此操作? 最佳答案 嗯,使用LINQ的最简单方法是这样的:list=list.OrderBy(x=>x.AVC?0:1).ToList();或list=list.OrderByDescending(x=>x.AVC).ToList();我相信bool的自然排序值为false,但第一种形式使IMO更清晰,因为每个人都知道0.请注意,这不会对原始列表本身进行排序-它会创建一个新列表,并将引用分配回list多变的。如果你想

c# - linq 不区分大小写(没有 toUpper 或 toLower)

publicArticlesGetByName(stringname,Categoriescategory,Companiescompany){varquery=fromarticleinsession.Linq()wherearticle.Name==name&&article.Category==category&&article.Company==companyselectarticle;returnquery.FirstOrDefault();}查询如何不区分大小写。我可以使用toLower或toUpper,但我想使用OrdinalIgnoreCase。可能吗?

c# - linq 不区分大小写(没有 toUpper 或 toLower)

publicArticlesGetByName(stringname,Categoriescategory,Companiescompany){varquery=fromarticleinsession.Linq()wherearticle.Name==name&&article.Category==category&&article.Company==companyselectarticle;returnquery.FirstOrDefault();}查询如何不区分大小写。我可以使用toLower或toUpper,但我想使用OrdinalIgnoreCase。可能吗?

c# - 有做笛卡尔积的好 LINQ 方法吗?

我有这样一个类结构:PersonDogs(dog1,dog2,etc)Puppies(puppyA,puppyB,etc)只有一个人。他有1..n条狗。每只狗有1..n只小狗。我想要一个所有可能的小狗组合的列表,从每只狗身上取一只小狗。例如:狗1小狗A,狗2小狗A狗1小狗A,狗2小狗B狗1小狗B,狗2小狗A狗1小狗B,狗2小狗B如果它在sql表中,我会做类似下面的事情来“乘以”表:select*frompuppiesa,puppiesbwherea.parent='dog1'andb.parent='dog2'是否有一些类似linq的方法来做这种事情???非常感谢