使用linq返回对象的特定属性列表



给定这样的类:

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

但是有没有什么方法可以让我用林克来达到同样的效果呢?我认为Distinct()可能会做到这一点,但不知道如何达到预期的结果。

var list = stockItems.Select(item => item.StockID).ToList();

您也可以这样做:

ids = stockItems.ConvertAll<Guid>(o => o.StockID);

这样的东西怎么样?这可以简化吗?

List<TranCode> alltrans = new List<TranCode>();
foreach (var bh in obj1.obj2WithCollection.obj2Collection)
{
    alltrans.AddRange(bh.obj3WithCollection.Select(e => e.TransactionCode).ToList());
}

相关内容

  • 没有找到相关文章

最新更新