2009-03-12 21 views

Antwort

9

Ein paar Dinge hier:

Definition muss übereinstimmen Initialisierung. Sie definieren Wörterbuch und instanziieren Wörterbuch < TKey, TValue >. Was dies bedeutet, basierend auf, was Sie sagen hier:

Dictionary<string, double[][]> dict = new Dictionary<string, double[][]>(); 

Ich nehme an, das ist das, was Sie wollen. Wenn dies der Fall ist, könnte Ihr Code etwa so aussehen:

double[] d1 = { 1.0, 2.0 }; 
    double[] d2 = { 3.0, 4.0 }; 
    double[] d3 = { 5.0, 6.0, 7.0 }; 

    double[][] dd1 = { d1 }; 
    double[][] dd2 = { d2, d3 }; 

    Dictionary<string, double[][]> dict = new Dictionary<string, double[][]>(); 
    dict.Add("dd1", dd1); 
    dict.Add("dd2", dd2); 

Wenn das der Fall ist, ist Ihr Problem gelöst.

7

Nur werde meine Antwort aktualisieren die richtige Erklärung gemäß anderen Antworten enthalten:

Dictionary<String,double[][]> = new Dictionary<String,double[][]>(); 

Alsoyours ist ein Array von Array und kein MultiDimensional ein .. Nicht sicher, ob das ist, was Sie wollen ..

Wenn Sie eine MultiDimensions wollen nal Array es

Dictionary<String,double[,]> = new Dictionary<String,double[,]>(); 
+0

Linke Seite muss entweder var oder Dictionary sein – NikolaiDante

+0

Immer noch nicht ganz richtig ... – Ant

4

Sie haben auch die Art der Variablen vollständig zu qualifizieren, nicht nur, was Sie zuordnen wollen:

Dictionary<String,double[][]> dictLocOne = new Dictionary<String,double[][]>(); 
3

Versuchen

var dict = new Dictionary<String, double[,]>(); 
+0

-1, während dies richtig ist es, hilft wirklich nicht, die Frage zu beantworten. Es versteckt es nur vor dem Entwickler, der in diesem Fall nicht weiß, wie man die Variable deklariert. – Samuel

1

Beispiel:

var d = new Dictionary<string, double[,]>();

d["foo"] = new[,] { { 0.1, 1.0 }, { 0.2, 2.0 }, { 0.3, 3.0 } };

Verwandte Themen