Ich habe eine Aufgabe, bei der ich eine DataTable in ein zweidimensionales Array umwandeln muss. Das ist einfach genug, indem Sie einfach die Zeilen und Spalten durchlaufen (siehe Beispiel unten).Auswählen eines mehrdimensionalen Arrays in LINQ
private static string[,] ToArray(DataTable table)
{
var array = new string[table.Rows.Count,table.Columns.Count];
for (int i = 0; i < table.Rows.Count; ++i)
for (int j = 0; j < table.Columns.Count; ++j)
array[i, j] = table.Rows[i][j].ToString();
return array;
}
Was ich wirklich tun möchte, ist eine SELECT-Anweisung in LINQ, um diese 2D-Array zu generieren. Leider scheint es in LINQ keine Möglichkeit zu geben, ein mehrdimensionales Array auszuwählen. Ja, mir ist klar, dass ich mit LINQ ein gezacktes Array auswählen kann, aber das möchte ich nicht.
Ist meine Annahme korrekt, oder gibt es eine Möglichkeit, LINQ zu verwenden, um ein mehrdimensionales Array auszuwählen?
Können Sie stattdessen ein Array von Arrays erstellen? (es wäre schneller zu konvertieren) –
Ja, ich kann eine gezackte Array (Array von Arrays), aber leider in diesem Fall ist das nicht, was die API, die ich anruft, würde akzeptieren. – mckhendry