Is there an AddUnique method similar to Addrange() for alist in C#

前端 未结 9 1707
[愿得一人]
[愿得一人] 2021-01-07 16:32

I have a list in C#:

       var list = new List();
       list.AddRange(GetGreenCars());
       list.AddRange(GetBigCars());
       list.AddRange(         


        
9条回答
  •  谎友^
    谎友^ (楼主)
    2021-01-07 16:47

    and if you want to compare one property (id in this case), this should work

    var list = new List();
    list.AddRange(GetGreenCars().Where(greencar => !list.Contains(greencar, car => car.id == greencar.id)));
    list.AddRange(GetBigCars().Where(bigcar => !list.Contains(bigcar, car => car.id == bigcar.id)));
    list.AddRange(GetSmallCars().Where(smallcar => !list.Contains(smallcar, car => car.id == smallcar.id)));
    

提交回复
热议问题