我想根据内部列表的值在嵌套列表中找到不同的元素。
当前列表结构:下图显示了一个表,其中每一行都是一个字符串列表,整个表是使用字符串列表列表生成的
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/