Tru*_*an1 2 .net c# linq .net-4.0
我试图显示子属性的所有可能值.下面我试图将所有产品的所有颜色都变成一个变量.我怎样才能获得下面的allDistinctColors?
IEnumerable<Product> products = GetAllProducts();
IEnumerable allDistinctColors = ???
public class Product
{
public List<Option> Options { get; set; }
}
public class Option
{
public string Color { get; set; }
}
Run Code Online (Sandbox Code Playgroud)
Raw*_*ing 11
用于SelectMany
为每个输入项(产品)选择多个输出项(选项),并将它们连接到单个枚举中以进一步查询:
var allDistinctColors = products
.SelectMany(p => p.Options)
.Select(o => o.Color)
.Distinct();
Run Code Online (Sandbox Code Playgroud)