我有一个列表,该类作为结构如下
class cl
{
public string name1{ get; set; }
public string name2{ get; set; }
public string name3{ get; set; }
public List<c2> c2List{ get; set; }
}
class c2
{
public string st1{ get; set; }
public string str2{ get; set; }
}
现在我有C1类的列表,我需要删除该列表中的重复项 任何人都可以帮助我,我该怎么办
答案 0 :(得分:1)
引用c2List时,请按以下方式调用它:
var distinctList = c1.c2List.Distinct();
(假设c1在代码中进一步实例化)
答案 1 :(得分:0)
我认为这是你的事后......
var c2Items = new c2[]
{
new c2 { st1 = "value 1", str2 = "value 2" },
new c2 { st1 = "value 2", str2 = "value 1" },
new c2 { st1 = "value 1", str2 = "value 2" }
};
var parent = new cl() { c2List = new List<c2>(c2Items) };
IEnumerable<c2> distinctitems =
parent
.c2List
.GroupBy(o => new { o.st1, o.str2 })
.Select(o => o.First());