草庐IT

distinct

全部标签

c# - 在 .NET 中有效地合并字符串数组,保持不同的值

我正在使用.NET3.5。我有两个字符串数组,它们可能共享一个或多个值:string[]list1=newstring[]{"apple","orange","banana"};string[]list2=newstring[]{"banana","pear","grape"};我想要一种方法将它们合并到一个没有重复值的数组中:{"apple","orange","banana","pear","grape"}我可以用LINQ做到这一点:string[]result=list1.Concat(list2).Distinct().ToArray();但我想这对于大型数组来说效率不是很高。

c# - 为什么没有 Linq 方法通过谓词返回不同的值?

我想获取列表中的不同值,但不是通过标准相等比较。我想做的是这样的:returnmyList.Distinct((x,y)=>x.Url==y.Url);我不能,Linq中没有扩展方法可以执行此操作-只有一个采用IEqualityComparer的扩展方法。我可以用这个破解它:returnmyList.GroupBy(x=>x.Url).Select(g=>g.First());但这看起来很乱。它也不会做同样的事情-我只能在这里使用它,因为我只有一个key。我也可以添加我自己的:publicstaticIEnumerableDistinct(thisIEnumerableinput,Fu

c# - 为什么没有 Linq 方法通过谓词返回不同的值?

我想获取列表中的不同值,但不是通过标准相等比较。我想做的是这样的:returnmyList.Distinct((x,y)=>x.Url==y.Url);我不能,Linq中没有扩展方法可以执行此操作-只有一个采用IEqualityComparer的扩展方法。我可以用这个破解它:returnmyList.GroupBy(x=>x.Url).Select(g=>g.First());但这看起来很乱。它也不会做同样的事情-我只能在这里使用它,因为我只有一个key。我也可以添加我自己的:publicstaticIEnumerableDistinct(thisIEnumerableinput,Fu

C# Distinct on IEnumerable<T> 与自定义 IEqualityComparer

这就是我想要做的。我正在使用LINQtoXML查询一个XML文件,这给了我一个IEnumerable>对象,其中T是我的“Village”类,填充了此查询的结果。有些结果是重复的,所以我想对IEnumerable对象执行Distinct(),如下所示:publicIEnumerableGetAllAlliances(){try{IEnumerablealliances=fromallianceinxmlDoc.Elements("Village")wherealliance.Element("AllianceName").Value!=String.Emptyorderbyallian

C# Distinct on IEnumerable<T> 与自定义 IEqualityComparer

这就是我想要做的。我正在使用LINQtoXML查询一个XML文件,这给了我一个IEnumerable>对象,其中T是我的“Village”类,填充了此查询的结果。有些结果是重复的,所以我想对IEnumerable对象执行Distinct(),如下所示:publicIEnumerableGetAllAlliances(){try{IEnumerablealliances=fromallianceinxmlDoc.Elements("Village")wherealliance.Element("AllianceName").Value!=String.Emptyorderbyallian

c# - Linq distinct - 计数

我希望对示例对象列表执行查询DateUsername01/01/2011james01/01/2011jamie01/01/2011alex01/01/2011james02/01/2011matt02/01/2011jamie02/01/2011alex02/01/2011james02/01/2011james02/01/2011lucy02/01/2011alex03/01/2011james03/01/2011bob03/01/2011bob03/01/2011james03/01/2011james04/01/2011alex04/01/2011alex04/01/2011a

c# - Linq distinct - 计数

我希望对示例对象列表执行查询DateUsername01/01/2011james01/01/2011jamie01/01/2011alex01/01/2011james02/01/2011matt02/01/2011jamie02/01/2011alex02/01/2011james02/01/2011james02/01/2011lucy02/01/2011alex03/01/2011james03/01/2011bob03/01/2011bob03/01/2011james03/01/2011james04/01/2011alex04/01/2011alex04/01/2011a

c# - Distinct() 方法是否保持序列的原始顺序不变?

我想从列表中删除重复项,而不更改列表中唯一元素的顺序。JonSkeet和其他人建议使用以下内容:list=list.Distinct().ToList();引用:HowtoremoveduplicatesfromaList?RemoveduplicatesfromaListinC#是否保证唯一元素的顺序与之前相同?如果是,请提供证实这一点的引用,因为我在文档中找不到任何内容。 最佳答案 不能保证,但这是最明显的实现。如果不按顺序返回它们,将很难以流式方式实现(即它会尽快返回结果,尽可能少地读取)。。您可能想阅读我在Edulinqim

c# - Distinct() 方法是否保持序列的原始顺序不变?

我想从列表中删除重复项,而不更改列表中唯一元素的顺序。JonSkeet和其他人建议使用以下内容:list=list.Distinct().ToList();引用:HowtoremoveduplicatesfromaList?RemoveduplicatesfromaListinC#是否保证唯一元素的顺序与之前相同?如果是,请提供证实这一点的引用,因为我在文档中找不到任何内容。 最佳答案 不能保证,但这是最明显的实现。如果不按顺序返回它们,将很难以流式方式实现(即它会尽快返回结果,尽可能少地读取)。。您可能想阅读我在Edulinqim

c# - 基于表的一个字段在 Linq 中区分

我正在尝试在Linq中使用.distinct来根据表的一个字段获取结果(因此不需要表中的整个重复记录)。我知道使用distinct编写基本查询如下:varquery=(fromrintable1orderbyr.Textselectr).distinct();但我需要r.text不重复的结果。 最佳答案 试试这个:table1.GroupBy(x=>x.Text).Select(x=>x.FirstOrDefault());这将按Text对表格进行分组,并使用每个组中的第一行,从而生成Text不同的行。