我想根据内部列表的值在嵌套列表中找到不同的元素。

当前列表结构:下图显示了一个表,其中每一行都是一个字符串列表,整个表是使用字符串列表列表生成的

c# - 从List <List <String >>查找不同的元素-LMLPHP

var eachrow = new List<String>();
var allrow = new List<List<String>>();

//eachrow is populated from db. After a complete row is populated it is added to allrow

//Sample
//eachrow[0] = "no value"
//eachrow[1] = "67" and so on
//allrow[0] = {no value,67,89,0,0,0,67,34}
//allrow[1] = {no value,201,45,102,0,0,47,12} and so on


现在,我要消除表中的重复行。我不是在寻找Javascript解决方案。 HTML表仅用于显示问题。

我尝试过的

allrow = allrow.Distinct().ToList();
//Doesnt remove duplicates

最佳答案

像这样使用GroupBy

var result = allrow.GroupBy(c => String.Join(",", c))
                                .Select(c => c.First().ToList()).ToList();


您也可以实现EqualityComparer类,并在LINQ的Distinct方法中使用它。但是我认为通过使用GroupBy可以更简单地实现上述目的。

关于c# - 从List <List <String >>查找不同的元素,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/34764331/

10-11 05:19