[c#] 多次元配列[] [] vs [、]


1 Answers

最初のインスタンスでは、ギザギザアレイと呼ばれるものを作成しようとしています。

double[][] ServicePoint = new double[10][9].

上記のステートメントは、以下のように定義されていればうまくいきました。

double[][] ServicePoint = new double[10][]

これは、サイズ10の配列を作成していて、その中に10種類の異なるサイズの配列を格納できることを意味します。簡単に言えば、配列の配列です。以下の画像を参照してください。

http://msdn.microsoft.com/en-us/library/2s05feca(v=vs.80).aspx

2番目は基本的に2次元の配列であり、構文は正しいものであり、受け入れられるものです。

  double[,] ServicePoint = new double[10,9];//<-ok (2)

また、2次元配列にアクセスしたり変更したりするには、両方の次元を渡す必要がありますが、その場合は1次元だけを渡します

正しい使用法は

ServicePoint[0][2] 、1行目、3列目の項目を参照します。

あなたの二次元配列の図像担当者

Question

この質問には既に回答があります:

double[][] ServicePoint = new double[10][9]; // <-- gives an error (1)
double[,] ServicePoint = new double[10,9]; // <-- ok (2)

彼らの違いは何ですか? (1)エラーが発生する理由は何ですか?

そして

double d = new double[9]
ServicePoint[0] = d;

(2)を使用すると、エラーが表示されます。 どうして?




double[,]は2次元配列(行列)であり、 double[][]は配列の配列( ギザギザの配列 )であり、構文は次のとおりです。

double[][] ServicePoint = new double[10][];



Related