Ich habe eine Kollektion, die so eindimensional ist:
%Vor%Ich möchte diese Sammlung in einer zweidimensionalen Sammlung wie folgt konvertieren:
%Vor%Grundsätzlich möchte ich gruppieren oder teilen, wenn Sie möchten, das Array in Gruppen von 'n' Mitgliedern
Ich kann es mit einer foreach
-Anweisung machen, aber ich lerne gerade LINQ, anstatt alle Elemente manuell zu durchlaufen und ein neues Array manuell zu erstellen, würde ich gerne die LINQ-Funktionen verwenden (falls zutreffend)
Gibt es eine LINQ-Funktion, die mir hilft, dies zu erreichen?
Ich dachte in den GroupBy
oder SelectMany
Ich weiß nicht, ob sie mir helfen werden, aber sie könnten
Jede Hilfe wird es wirklich schätzen =): **
Sie können nach dem Index, geteilt durch die Stapelgröße, gruppieren:
%Vor% Sie möchten Take()
und Skip()
. Mit diesen Methoden können Sie IEnumerable
teilen. Dann können Sie Concat()
verwenden, um sie wieder zusammen zu schlagen.
Das folgende Beispiel teilt ein Array in Gruppen von jeweils 4 Elementen auf.
%Vor%Es ist kein reines LINQ, aber es soll mit ihm verwendet werden:
%Vor%Es kann von Ihrem Code wie folgt verwendet werden:
%Vor%Tags und Links arrays .net c# linq linq-to-objects