Получить отдельный список идентификаторов из IEnumerable <T> - PullRequest
7 голосов
/ 03 августа 2010

У меня есть 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 может помочь мне.

1 Ответ

28 голосов
/ 03 августа 2010
tankReadings.Select(o => o.MaterialID).Distinct();
...