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