Получите отдельный список идентификаторов из IEnumerable‹T›

У меня есть IEnumerable, и я хочу получить все отдельные идентификаторы материалов. У меня есть код, который работает, но мне было интересно, есть ли лучший способ использовать 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 может мне помочь.


person mpenrow    schedule 03.08.2010    source источник