Um dem 1D-Array einen bestimmten Wert zuzuweisen, verwende ich LINQ wie folgt:
%Vor%Es gibt einen ähnlichen Weg im 2D ([x, y]) Array? Oder kurz, ohne verschachtelte Schleifen zu verwenden?
LINQ funktioniert nicht besonders gut mit mehrdimensionalen Arrays.
Gezackte Arrays sind nicht zu schlecht:
%Vor%... aber rechteckige Arrays haben keine spezifische Unterstützung. Verwenden Sie einfach Schleifen.
(Beachten Sie die Verwendung von Enumerable.Repeat
als etwas einfachere Methode zum Erstellen des 1-dimensionalen Arrays, btw.)
Nun, das könnte Betrug sein, weil es einfach den Schleifencode in eine Erweiterungsmethode verschiebt, aber es erlaubt Ihnen, Ihr 2D-Array einfach auf einen einzelnen Wert zu initialisieren, ähnlich wie Sie ein 1D-Array initialisieren können zu einem einzigen Wert.
Zuerst, wie Jon Skeet erwähnte, könnten Sie Ihr Beispiel für die Initialisierung eines 1D-Arrays wie folgt aufräumen:
%Vor%Mit meiner Erweiterungsmethode können Sie ein 2D-Array wie folgt initialisieren:
%Vor%