假设我有以下类:
public class LabeledStock {
public Stock StockInfo { get; set; }
public IList<Label> Labels { get; set; }
}
public class StockLabel {
public Stock StockInfo {get; set; }
public Label Label {get; set; }
}
我正在努力找到写一个Linq表达式的正确方法,该表达式将LabeledStock
个对象列表转换为StockLabel
个对象列表(即展平标签属性但将其与库存保持在一起对象)
答案 0 :(得分:1)
使用SelectMany
扩展方法:
var result= labeledStockList.SelectMany(e=>e.Labels.Select(l=>new StockLabel{StockInfo=e.StockInfo,Label=l}));