-1

それらの違いは何だと思いますか?

new object[][] { new object[] { "1" }, new object[] { "2" }, new object[] { "3" } }

new object[] { new object[] { "1" }, new object[] { "2" }, new object[] { "3" } }

私が見る違いは、メソッドのパラメーターがオーバーロードされていることだけです。

static void Arr(object[][] oa)

static void Arr(object[] oa)

多分記憶の効率?

4

2 に答える 2

5

1つ目はタイプセーフです。2つ目はそうではありません。

object2番目の配列がsを含むものとして入力されているのに対し、最初の配列にはobject[]s(配列)が含まれている必要があることを除いて、両方の配列はまったく同じです。したがって、あなたは書くことができます

new object[] { DateTime.Now, new object[] { "1" }, new object[] { "2" }, ... }

あなたが書くことはできませんが

new object[][] { DateTime.Now, new object[] { "1" }, new object[] { "2" }, ... }

...でDateTime.Nowはないのでobject[]

実際には、間違いを防ぐために、可能な限り最も制限の厳しいタイプを使用するようにしてください。
あなたの場合、あなたはあなたが内側の配列string[][]に入れることができないことを確認するためにを使うべきです。DateTime.Now

于 2011-06-12T21:13:55.303 に答える
2

違いは、2番目の例objectでは配列に型の要素を含めることができるのに対し、最初の例では要素を含めることができることobject[]です。

于 2011-06-12T21:14:54.697 に答える