お手元の書籍の刷数は、奥付でご確認ください。
●P.172 下から9行目~下から3行目
(誤)
// SongクラスのインスタンスをMusicクラス型の変数に代入
var m = new Song();
// Musicクラス型の変数をキャストしてSongクラス型の変数に代入
var s = (Song)m;
// Musicクラス型の変数をキャストしてMusic2クラス型の変数に代入
// 元がSong型なのでエラーとなる
var m2 = (Music2)m;
(正)
// SongクラスのインスタンスをMusicクラス型の変数に代入
Music m = new Song();
// Musicクラス型の変数をキャストしてSongクラス型の変数に代入
Song s = (Song)m;
// Musicクラス型の変数をキャストしてMusic2クラス型の変数に代入
// 元がSong型なのでエラーとなる
Music2 m2 = (Music2)m;
◎該当する版:初版1刷
●P.173 下から2行目~下から1行目
(誤)
var m = new Song();
var s = (Song)m;
(正)
Music m = new Song();
Song s = (Song)m;
◎該当する版:初版1刷
●P.174 [サンプル]ClsCastDown.cs 5行目~7行目
(誤)
var m = new Song();
var s = m as Song;
var m2 = m as Music2; // ダウンキャストできないのでnullを返す
(正)
Music m = new Song();
Song s = m as Song;
Music2 m2 = m as Music2; // ダウンキャストできないのでnullを返す
◎該当する版:初版1刷
●P.232 [サンプル]StructReadonly.cs 3行目~4行目
(誤)
public int A = 0;
public readonly int Calc() => A * 2;
(正)
public int A = 0;
public ReadonlyStrctC8()
{
}
public readonly int Calc() => A * 2;
◎該当する版:初版1刷
●P.248 上から1行目~2行目
(誤)
public int X = -1;
public int Y = -1;
(正)
public int X = -1;
public int Y = -1;
public NormalStruct()
{
}
◎該当する版:初版1刷
●P.254 [サンプル]DelegateParam.cs 下から4行目~3行目
(誤)
methodCallback(10, t.TestMethod1); // 出力値:10
methodCallback(10, TestClass.TestMethod2); // 出力値:20
(正)
MethodCallback(10, t.TestMethod1); // 出力値:10
MethodCallback(10, TestClass.TestMethod2); // 出力値:20
◎該当する版:初版1刷
以上、お詫びして訂正いたします。