Ich habe eine LINQ-Abfrage, die zurückgegeben wird, IEnumerable<List<int>>
aber ich möchte nur zurückgeben, List<int>
damit ich meinen gesamten Datensatz in meinem IEnumerable<List<int>>
Array zu nur einem Array zusammenführen möchte .
Beispiel:
IEnumerable<List<int>> iList = from number in
(from no in Method() select no) select number;
Ich möchte mein gesamtes Ergebnis IEnumerable<List<int>>
auf nur eines bringenList<int>
Daher aus Quell-Arrays: [1,2,3,4] und [5,6,7]
Ich möchte nur ein Array [1,2,3,4,5,6,7]
Vielen Dank
SelectMany( i => i )
? Ich habe gesehen, dass diese Syntax häufig verwendet wird, aber es scheint eine entartete Verwendung der Auswahlfunktion zu sein. Daher hätte ich erwartet, dass die Sprachdesigner eine Verknüpfungssyntax speziell für Listen von Listen entwickelnMit Abfragesyntax:
quelle
quelle
.ToArray()
? - Das ist ein Umstand - wenn Sie nur einmal iterieren müssen - oder wenn sich die Elemente wahrscheinlich ändern, dann.ToArray()
ist dies definitiv nicht das, was Sie wollen. Aber mit statischen Elementen, die Sie mehrmals aufzählen werden.ToList()
oder.ToArray()
die eine Leistungsverbesserung bewirken (auf Kosten einer etwas höheren Speichernutzung, was normalerweise ein ziemlich gutes Geschäft ist).List<int>
, also.ToList()
wäre es die richtige Wahl.So was?
quelle
Wenn Sie eine haben
List<List<int>> k
, können Sie tunquelle