简体   繁体   中英

Get a distinct list of ids from IEnumerable<T>

I have an IEnumerable that I want to get all the distinct MaterialIDs. I have code that is working but I was wondering if there is a better way possible using LINQ. Here's the code I have:

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

Any help would be appreciated as I am learning how LINQ can help me.

tankReadings.Select(o => o.MaterialID).Distinct();

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM