鉴于这样的课程:
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()
可能会这样做,但无法弄清楚如何达到预期效果。
答案 0 :(得分:102)
var list = stockItems.Select(item => item.StockID).ToList();
答案 1 :(得分:2)
你也可以这样做:
ids = stockItems.ConvertAll<Guid>(o => o.StockID);
答案 2 :(得分:0)
这样的事情怎么样?这可以简化吗?
List<TranCode> alltrans = new List<TranCode>();
foreach (var bh in obj1.obj2WithCollection.obj2Collection)
{
alltrans.AddRange(bh.obj3WithCollection.Select(e => e.TransactionCode).ToList());
}