0

我有一个列表,该类的结构如下

   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 类的列表,我需要从该列表中删除重复项,任何人都可以帮助我我该怎么做

4

2 回答 2

1

引用 c2List 时,调用它类似于以下内容:

var distinctList = c1.c2List.Distinct();

(假设 c1 在代码中进一步实例化)

于 2013-08-20T13:25:04.913 回答
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());
于 2013-08-20T13:05:07.653 回答