كيف يمكنني تقليل IEnumerable > لIEnumerable <فو>؟
-
05-07-2019 - |
سؤال
وعذرا لشرح غريب. ما أحاول تحقيقه هو بسيط:
IEnumerable<IEnumerable<Foo>> listoflist;
IEnumerable<Foo> combined = listoflist.CombineStuff();
مثال:
{{0, 1}, {2, 3}} => {0, 1, 2, 3}
وأنا واثق هناك تعبير ينق لهذا ...
وSidenote: قد تكون القوائم كبير
.المحلول
وكما يقول leppie، وتريد Enumerable.SelectMany
. وأبسط شكل على النحو التالي:
combined = listOfList.SelectMany(x => x);
في تعبيرات الاستعلام، ويسمى SelectMany
عندما يكون لديك شرط from
أكثر من واحد، وبالتالي فإن البديل سيكون:
combined = from x in listOfList
from y in x
select y;
نصائح أخرى
<اقتباس فقرة>
وSelectMany ()
اقتباس فقرة>موافق
لا تنتمي إلى StackOverflow