2016-07-14 16 views
1

Dies scheint sehr einfach, aber ich finde nirgendwo zu finden anwendbare Dokumentation. Wie erstellt man in C# ein "double [,]"? Insbesondere ist die Daten Ich versuche darzustellen etwas wie folgt aus:Syntax zum Erstellen einer doppelten [,] in C#

[0,0] = 0 
[0,1] = 1 
[1,0] = 1 
[1,1] = 2 

Ich habe versucht, [[0,1], [1,2]] und das Äquivalent mit {{} {}} und { [] []} und verschiedene andere Dinge, aber scheint nicht die Syntax herauszufinden. Es scheint, dass ein einfaches [0,1] allein ein 'doppeltes' ist, aber ich würde gerne einen Weg finden, die obigen Daten darzustellen (mehr als nur 2 Zahlen).

Was fehlt mir? Wenn mich jemand auf eine einfache Dokumentation hinweisen kann, wäre das großartig.

+1

'double [,] d = {{0,1} , {1,2}}; "beachte aber, dass' double [,] '! =' Double [] [] '. Wählt man Letzteres, müsste es "double [] [] d = {new double [] {0,1}, neu double [] {1,2}} sein;' – Meloviz

Antwort

1

Siehe Array initializers:

Für ein mehrdimensionales Array, wobei die Anordnung Initialisierer müssen so viele Ebenen der Verschachtelung haben, wie es Dimensionen in der Anordnung sind. Die äußerste Verschachtelungsebene entspricht der äußersten linken Dimension und die innerste Verschachtelungsebene entspricht der am weitesten rechts liegenden Dimension. Die Länge jeder Dimension des Arrays wird durch die Anzahl der Elemente auf der entsprechenden Verschachtelungsebene im Array-Initialisierer bestimmt. Für jeden Initializer für verschachtelte Arrays muss die Anzahl der Elemente mit den anderen Array-Initialisierern auf derselben Ebene übereinstimmen.

In unserem Fall:

double[,] a = { { 0, 1 }, { 1, 2 } }; 
+0

Danke. Ich dachte, ich hätte es versucht, aber offenbar vermisst. – user3345626

1

Ein mehrdimensionales Doppel Array:

 Double[,] newdouble = new Double[2,2]; 

oder

 Double[,] newdouble = { { 0, 0 }, { 1, 1 } }; 
1

Um ein zweidimensionales Array zu erstellen, können Sie Zuweisen, müssen Sie zuerst die richtige Größe zuweisen. In diesem Fall haben Sie 2 Zeilen und 2 Spalten, so dass ein [2,2] sein wird.

double[,] twod = new double[2,2]; 

Next einfach Sie es wie diese

twod[0,0] = 0; 
twod[0,1] = 1; 
twod[1,0] = 1; 
twod[1,1] = 2; 

zuweisen und dann mit ihm arbeiten wie Sie wollen.

0

Es gibt drei Möglichkeiten, das Array initialisiert:

double[,] twoDemn = { { 0 , 1 }, { 1 , 2 } }; 

oder:

double[,] twoDemn = new double[,] { { 0 , 1 }, { 1 , 2 } }; 

oder:

double[,] twoDemn = new double[2,2]; 
twoDemn[0,0] = 0; 
twoDemn[0,1] = 1; 
twoDemn[1,0] = 1; 
twoDemn[1,1] = 2;