I have a list in C#:
var list = new List();
list.AddRange(GetGreenCars());
list.AddRange(GetBigCars());
list.AddRange(
Linq-less option! A different option in case the programmer cannot, or don't wanna use Linq.
var list = new List();
list.AddRange(GetGreenCars().FindAll((x) => !list.Contains(x)));
list.AddRange(GetBigCars().FindAll((x) => !list.Contains(x)));
list.AddRange(GetSmallCars().FindAll((x) => !list.Contains(x)));
If the initial list is empty as in the example above, you can actually avoid using FindAll(...) on the first AddRange().