Obtenir une liste distincte de l'id de IEnumerable<T>

J'ai un IEnumerable que je veux obtenir tous les différents MaterialIDs. J'ai un code qui fonctionne mais je me demandais si il ya une meilleure façon possible à l'aide de LINQ. Voici le code que j'ai:

    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;
    }

Toute aide serait apprécié que je suis en train d'apprendre comment LINQ peut m'aider.

OriginalL'auteur mpenrow | 2010-08-03