草庐IT

LINQ_ENABLED

全部标签

c# - 如何使用 LINQ 过滤字典并将其返回到相同类型的字典

我有以下字典:Dictionarydic=newDictionary();dic[1]="A";dic[2]="B";我想过滤字典的项目并将结果重新分配给同一个变量:dic=dic.Where(p=>p.Key==1);如何从相同类型[中将结果作为字典返回]?我试过了ToDictionary,但它不起作用。 最佳答案 ToDictionary是要走的路。它确实有效——您可能只是错误地使用了它。试试这个:dic=dic.Where(p=>p.Key==1).ToDictionary(p=>p.Key,p=>p.Value);话虽如此,

c# - 如何在LINQ中实现 "MinOrDefault"?

我正在从LINQ表达式生成一个十进制值列表,我想要最小的非零值。但是,LINQ表达式完全有可能生成一个空列表。这将引发异常,并且没有MinOrDefault来应对这种情况。decimalresult=(fromItemitminitemListwhereitm.Amount>0selectitm.Amount).Min();如果列表为空,如何将结果设置为0? 最佳答案 你要的是这个:IEnumerableresults=...yourquery...doubleresult=results.MinOrDefault();嗯,MinO

c# - LINQ 查询从对象列表中返回不同的字段值

classobj{inttypeId;//10types0-9stringuniqueString;//thisisunique}假设有一个包含100个objs元素的列表,但只有10个唯一的typeID。是否可以编写一个LINQ查询来返回objs列表中的10个唯一整数? 最佳答案 objList.Select(o=>o.typeId).Distinct() 关于c#-LINQ查询从对象列表中返回不同的字段值,我们在StackOverflow上找到一个类似的问题:

c# - Linq 中的 Union Vs Concat

我有关于Union的问题和Concat.vara1=(new[]{1,2}).Union(new[]{1,2});//O/P:12vara2=(new[]{1,2}).Concat(new[]{1,2});//O/P:1212vara3=(new[]{"1","2"}).Union(new[]{"1","2"});//O/P:"1""2"vara4=(new[]{"1","2"}).Concat(new[]{"1","2"});//O/P:"1""2""1""2"以上结果是预期的,但在List的情况下我从两个Union得到相同的结果和Concat.classX{publicintID{

c# - LINQ 中的升序/降序 - 可以通过参数更改顺序吗?

我有一个方法,它的参数是“boolsortAscending”。现在我想使用LINQ根据此参数创建排序列表。我得到了这个:varascendingQuery=fromdataindataListorderbydata.Propertyascendingselectdata;vardescendingQuery=fromdataindataListorderbydata.Propertydescendingselectdata;如您所见,这两个查询仅在“升序”方面有所不同。“下降”。我想合并这两个查询,但我不知道如何。有人知道答案吗? 最佳答案

c# - 在不知道命名空间的情况下使用 LINQ 搜索 XDocument

有没有办法在不知道命名空间的情况下搜索XDocument?我有一个记录所有SOAP请求并加密敏感数据的进程。我想根据名称查找任何元素。比如,给我名称为CreditCard的所有元素。我不关心命名空间是什么。我的问题似乎与LINQ有关并且需要xml命名空间。我有其他进程从XML中检索值,但我知道这些其他进程的命名空间。XDocumentxDocument=XDocument.Load(@"C:\temp\Packet.xml");XNamespacexNamespace="http://CompanyName.AppName.Service.Contracts";varelements=

c# - LINQ:选择对象不包含列表中项目的位置

我正在为这里的LINQ语法苦苦挣扎……我想我应该把它扔到这里。我在其他任何地方都找不到我要找的东西。好的,假设我有这个:publicclassBar{publicintBarId{get;set;}}publicclassFoo{publicListBarList{get;set;}}ListfooBunch=GetABunchOfFoos();//let'sjustassumeI'mgettingmorethanoneListfooSelect=newList;ListfilterBars=GetAFewBars();//assumeI'mgettinglike2or3fooSele

c# - 您最喜欢的非内置 LINQ to Objects 运算符是什么?

关闭。这个问题是opinion-based。它目前不接受答案。想要改进这个问题?更新问题,以便editingthispost可以用事实和引文来回答它。关闭2年前。Improvethisquestion通过扩展方法,我们可以编写方便的LINQ运算符来解决一般问题。我想听听您在System.Linq命名空间中缺少哪些方法或重载,以及您是如何实现它们的。首选简洁优雅的实现,可能使用现有方法。

c# - 具有多个字段的 LINQ OrderBy

我有一个列表,需要按两个字段排序。我试过在LINQ中使用OrderBy,但这只允许我指定一个字段。我正在寻找要按第一个字段排序的列表,然后如果第一个字段中有任何重复项则按第二个字段排序。例如,我希望结果看起来像这样(按姓氏然后名字排序)。亚当斯,约翰史密斯,詹姆斯史密斯,彼得汤普森,弗雷德我看到您可以使用SQLlikesyntaxtoaccomplishthis但我正在寻找一种使用OrderBy方法来完成此操作的方法。IListlistOfPeople=/*Thelistisfilledsomehow.*/IEnumerablesortedListOfPeople=listOfPeop

c# - 数据库架构更改后更新 LINQ to SQL 类的最佳方法

我在一个项目中使用LINQtoSQL类,其中的数据库设计仍然有些变化。是否有一种简单的方法可以将类与架构同步,或者如果表设计发生变化,我是否需要手动更新类? 最佳答案 您可以使用SQLMetal.exe生成dbml和/或cs/vb文件。使用预构建脚本启动它并定位到您的数据上下文项目所属的目录。C:\ProgramFiles\MicrosoftSDKs\Windows\v6.0A\Bin\x64\sqlmetal.exe/server:/database:/code:"path\Solution\DataContextProject\