我有一个IEnumerable,我想获得所有不同的MaterialID。我的代码有效,但我想知道是否有更好的方法可以使用LINQ。这是我的代码:
private IEnumerable<int> GetDistinctMaterialIDs(IEnumerable<TankReading> tankReadings)
{
var distinctMaterialIDs = new List<int>();
foreach (var tankReading in tankReadings)
{
if (!distinctMaterialIDs.Contains(tankReading.MaterialID))
{
distinctMaterialIDs.Add(tankReading.MaterialID);
}
}
return distinctMaterialIDs;
}
任何帮助都会受到赞赏,因为我正在学习LINQ如何帮助我。
答案 0 :(得分:27)
tankReadings.Select(o => o.MaterialID).Distinct();