假设我有以下集合:
ONE
- Banana
- Mango
TWO
- Apple
- Mango
THREE
- Orange
- Pear我只想获取不包含芒果的集合,例如:
THREE
- Orange
- Pear以下示例返回错误的结果:
List<Order> list = new List<Order> {
new Order { Id = 1, Name = "ONE", Items = new List<Items> { new Item { Id = 1, Nama = "Banana" }, new Items { Id = 2, Nama = "Mango" } }},
new Order { Id = 1, Name = "TWO", Items = new List<Items> { new Item { Id = 1, Nama = "Orange" }, new Items { Id = 2, Nama = "Mango" } }},
new Order { Id = 1, Name = "THREE", Items = new List<Items> { new Item { Id = 1, Nama = "Pear" }, new Items { Id = 2, Nama = "Chery" } }},
};
var result = list.Where(x => x.Item.Any(y => y.Nama != "Mango")).ToList();发布于 2020-11-05 03:55:07
一旦发现不同于“芒果”的"Nama“,Any将立即退出,而这并不是你想要的。
x.Items.All(y => y.Nama != "Mango")应该做这件事。
https://stackoverflow.com/questions/64686794
复制相似问题