2010-08-03 3 views
4

J'ai un IEnumerable que je veux obtenir tous les différents MaterialID. J'ai du code qui fonctionne mais je me demandais s'il y avait une meilleure façon d'utiliser LINQ. Voici le code que j'ai:Obtenez une liste distincte des ID de IEnumerable <T>

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ée car j'apprends comment LINQ peut m'aider.

Répondre

24
tankReadings.Select(o => o.MaterialID).Distinct(); 
+3

Doh! Je concède avec honte ... – ChaosPandion

Questions connexes