59

次のようなクラスがあるとします。

public class Stock
{
    public Stock() {}
    public Guid StockID { get; set; }
    public string Description { get; set; }
}

私が今持っているとしましょうList<Stock>。すべての StockID のリストを取得し、それを IEnumerable または IList に入力したい場合。明らかに私はこれを行うことができます。

List<Stock> stockItems = new List<Stock>();
List<Guid> ids = new List<Guid>();

foreach (Stock itm in stockItems) 
{
    ids.Add(itm.StockID);
}

しかし、Linq を使用して同じ結果を得る方法はありますか? 私はそれができると思っDistinct()たが、望ましい結果を達成する方法を見つけることができなかった.

4

3 に答える 3

137
var list = stockItems.Select(item => item.StockID).ToList();
于 2012-07-20T07:02:04.110 に答える
3

次のようにすることもできます。

ids = stockItems.ConvertAll<Guid>(o => o.StockID);
于 2012-07-20T07:24:20.817 に答える