第1版第1刷の訂正情報です。
60ページ §
誤: Actionデリゲート型とFuncデリゲート型の違いは、後者が戻り値の型も指定できる点です。
正: Actionデリゲート型とFuncデリゲート型の違いは、前者が戻り値を持たないのに対して、後者は戻り値を持つ点です。ですから、Actionデリゲート型は戻り値の型を指定できないのに対して、Funcデリゲート型は戻り値の型を指定できます。
184ページ §
誤: 練習問題2 正解1
正: 練習問題2 正解2
142ページ §
誤: 並び巡
正: 並び順
145ページ §
誤: ただし、値を渡すために使用できないので、初期化に使用した値が意味を持つとは限らない
正: ただし、値を渡すために使用できないので、初期化に使用した値が意味を持つとは限らない。その値を利用する何らかのコードがあれば意味を持つかもしれないが、出力パラメータを受け取るメソッド側はその値を参照できず、意味を持たせることはできない。
171ページ実行結果欄 §
誤: 0
正: 0+空行
215ページ §
誤: 練習問題4 正解1
正: 練習問題4 正解5
233ページ §
誤: xやyは負数にもできます
正: aやbは負数にもできます
238ページ §
誤: 1.5
正: ±1.5
誤: 3.4
正: ±3.4
誤: 5.0
正: ±5.0
誤: 1.7
正: ±1.7
241ページ §
誤: 1.0
正: ±1.0
誤: 7.9
正: ±7.9
290ページ §
誤: "(int[])array
正: "(int[])array"
561ページ §
誤: 練習問題11 正解1。タスクの切り替えで割り込まれない、1回の操作でまとめて書き換えられる小さなデータだけがvolatile 指定できる。
正: 練習問題11 正解4。タスクの切り替えで割り込まれない、1回の操作でまとめて書き換えられる小さなデータだけがvolatile 指定できる。だからクラスAの参照をvolatile object a = new A();のように使用することはできるが、構造体Bをvolatile B b = new B();と使用することはできない。クラスの参照は小さいデータだが、構造体そのものは一般論としては大きいからだ。ところがこれには例外があり、構造体Bをvolatile object c = new B();として使用するとコンパイルが通る。ボックス化された構造体Bへの参照は十分に小さいからだ。ただし、これはあくまでボックス化された参照を書き換えられるだけであり、Bのメンバーにアクセスして安全かはまた別の問題だ。そのため、一般論としては4が正解になる。