我有一个CarData
对象,其中包含以下属性:
PrimaryKey
Make
Model
Year
Drivetrain
Country
我在列表中有大约1000个CarData
个对象:
List<CarData> CarObjects
是否有一种简单的方法来获取不同的Make
s?
答案 0 :(得分:4)
var makes = CarObjects.Select(car => car.Make).Distinct();
这会将列表从CarData
列表转换为Make
列表,然后只查找新列表的不同值。
答案 1 :(得分:2)
您可以使用Linq:
CarObjects.Select ( c => c.Make ).Distinct().ToList()
答案 2 :(得分:1)
var makeList = CarObjects.Select(a => a.Make).Distinct();
或
List<MakeEnum> = CarObjects.Select(a => a.Make).Distinct().ToList();
作为一个额外的建议,你可能会考虑让Make
成为一个枚举,因为(可能)有一个有限(而且相当小)的可能的汽车制造数量,而不是把它们堆成Strings
。 (你没有提到Make
是什么类型的财产,所以也许你已经这样做了。)