gpt4 book ai didi

c# - 如何使用linq删除重复记录?

转载 作者:太空宇宙 更新时间:2023-11-03 20:05:15 25 4
gpt4 key购买 nike

我有列表列表,想从列表中删除重复项。数据以列表格式存储,比如 IEnumerable<IEnumerable<string>> tableData如果我们将其视为表值,父列表用于行,子列表是每列的值。现在我想删除所有重复的行。从下表值 A 是重复的。

List<List<string>> ls = new List<List<string>>();
ls.Add(new List<string>() { "1", "A" });
ls.Add(new List<string>() { "2", "B" });
ls.Add(new List<string>() { "3", "C" });
ls.Add(new List<string>() { "4", "A" });
ls.Add(new List<string>() { "5", "A" });
ls.Add(new List<string>() { "6", "D" });
IEnumerable<IEnumerable<string>> tableData = ls;

var abc = tableData.SelectMany(p => p).Distinct(); ///not work

运行后,我希望abc应该是tableData格式

ls.Add(new List<string>() { "1", "A" });
ls.Add(new List<string>() { "2", "B" });
ls.Add(new List<string>() { "3", "C" });
ls.Add(new List<string>() { "6", "D" });

最佳答案

tableData.GroupBy(q => q.Skip(1).First()).Select(q => q.First())

关于c# - 如何使用linq删除重复记录?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24012469/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com