我成功从对象的复杂结构中进行了选择,但只能依靠foreach,如何避免使用foreach并通过LINQ解决我的问题?
var product = new List<ProductCrp>
{
new ProductCrp {
Strucutre = new StructureItem() {
CheckList = new CheckList() {
Checks = new List<Check>
{
new Check { NumberAsInt = "149" },
new Check { NumberAsInt = "260" },
new Check { NumberAsInt = null }
}
}
}
},
new ProductCrp {
Strucutre = new StructureItem() {
CheckList = new CheckList() {
Checks = new List<Check>
{
new Check { NumberAsInt = "261" },
new Check { NumberAsInt = "150" },
new Check { NumberAsInt = "260" }
}
}
}
}
};
string[] numbers = { "149" };
LINQ:
foreach (var item in product)
{
item.Strucutre.CheckList.Checks = item.Strucutre.CheckList.Checks.Where(w => numbers.Contains(w.NumberAsInt)).Select(w => w);
}
Checks
以你想要的方式? - James ThorpeStructure
不一致地拼错的原因是什么? - Eric LippertSelect
吗?那不是总是错误的做法,但有点奇怪。这是怎么回事? - Eric Lippert