احصل على ienumerable من a ienumerable >
-
04-07-2019 - |
سؤال
عنصر الفئة العامة {...}
public class Order
{
public List<Item> Items
...
}
public class Customer
{
public List<Order> Orders
...
}
الآن ، باستخدام LINQ ، أحتاج إلى الحصول على جميع العناصر التي اشتراها العميل. كيف يمكنني؟
حاولت شيئًا مثل var items = from o in cust.Orders select o.Items;
لكن النتيجة هي IEnuberable<List<Item>>
وأريد واحد فقط IEnumerable<Item>
.
أطلب هنا محاولة تجنب ترميز حلقتين.
المحلول
انت تحتاج SelectMany
, ، وهو ممثل في تعبيرات الاستعلام في المرتبة الثانية (واللاحقة) from
شروط:
var items = from order in customer.Orders
from item in order.Items
select item;
بدلاً من ذلك ، لتجاهل تعبيرات الاستعلام:
var items = customer.Orders.SelectMany(order => order.Items);
لا تنتمي إلى StackOverflow