前提・実現したいこと
「猫でもわかるC#プログラミング 第3版」に書かれていることが間違っているのか、私が誤解しているだけなのか知りたい
発生している問題・エラーメッセージ
「猫でもわかるC#プログラミング 第3版」の139ページにこんな記述がありました。
…
次のような書き方もできます。int[,] myArray = new int[2,3] {{ 4, 5, 6 }, { 7, 8, 9 }};
int[,] myArray = new int[,] {{ 4, 5, 6}, { 7, 8, 9 }};
最初の書き方では要素数が指定されているので、全部の要素の初期値を描く必要はありません。初期値が指定されていない要素は0で初期化されます。2番目の書き方では、初期値の数だけの要素を持った配列となります。なお、要素数を一部だけ指定することはできません。
…
しかし、手持ちのVisual Studio 2017で以下のコードを入力したところコンパイルエラーになりました。
C#
1using System; 2 3class Program 4{ 5 public static void Main() 6 { 7 int[,] a = new int[2,3] { { 1, 2, 3 }, { 3, 3 } }; 8 } 9}
上記の記述からここでa[1,2]は0で初期化されると思ったのですが、実際にはされないようです。これは「猫でもわかるC#プログラミング 第三版」の方が間違っているのでしょうか?それとも私が文章の意味を読み違えているのでしょうか?あるいは「猫でもわかるC# 第三版」の出版後にC#の仕様が変わったのでしょうか?
回答2件
あなたの回答
tips
プレビュー