本書の内容に誤りがございました。次のとおり訂正してお使いください。
お手元の書籍の刷数は、奥付でご確認ください。

初版1刷

訂正箇所 訂正内容

p.14

上から12~13行目

(誤) ファイルを開き、ファイルからテ本書の付録は、日経BPソフトプレスのサイトからダウンロードできます。詳細については本書の「はじめに」の「日本語版に関する補足」を参照してください。キストの

(正) ファイルを開き、ファイルからテキストの

p.21

コードの2行目

(誤) orders.Queue.Send(order); // 既定の優先度、暗号化などを使用する

(正) ordersQueue.Send(order); // 既定の優先度、暗号化などを使用する

p.61

上から6行目

(誤) public static BigInteger Devide

(正) public static BigInteger operator /

p.71

上から6行目

(誤) 代わりに、これらのオブジェクトを値型の配列(オブジェクトごとに0バイトのオーバーヘッド)にこれらのオブジェクトを配置することによってこれを避けることが可能です。

(正) 代わりに、これらのオブジェクトを値型の配列(オブジェクトごとに0バイトのオーバーヘッド)に配置することによってこれを避けることが可能です。

p.72

上から4行目

(誤) ベンチマーク

(正) ベンチマーク

p.80

2番目のコード

(誤) public class File abstract sealed {
     ...
    }

(正) public ref class File abstract sealed {
     ...
    };

p.82

2番目のコードの2行目

(誤) if( !key.GetType().IsDefined(typeof(IImmutableAttribute), false)) {

(正) if( !key.GetType().IsDefined(typeof(ImmutableAttribute), false)) {

p.87

下から8行目

(誤) 追加可能します。

(正) 追加可能す。

p.89

2番目のコードの2行目

(誤) if (desk > DeskType.Rectanguler || desk < DeskType.Curcular) {

(正) if (desk > DeskType.Rectanguler || desk < DeskType.Circular) {

p.101

コード

(誤) public static class Console {
       public void WriteLine();
       public void WriteLine(string value);
       public void WriteLine(bool value);
       ...
     }

(正) public static class Console {
       public static void WriteLine();
       public static void WriteLine(string value);
       public static void WriteLine(bool value);
       ... 
    }

p.122

コードの4行目

(誤) applicationLog.Log ~= "Application";

(正) applicationLog.Log = "Application";

p.125

脚注の2行目

(誤) 暗黙的なコンストラクタは空(何もしない)ため。

(正) 暗黙的なコンストラクタは空である(何もしない)ため

p.136

一番下のガイドライン

(誤) DO

(正) DO-NOT

p.137

下から3行目

(誤) if ("hello workd".IsPalindrome()) {

(正) if ("hello world".IsPalindrome()) {

p.139

下から6行目

(誤) o.SomeMethod();

(正) o.SomeMethod()

p.142

1行目

(誤) var attrs = source.GetCustomAttributes(typeof(ContentPRopertyAttribute), true);

(正) var attrs = source.GetCustomAttributes(typeof(ContentPropertyAttribute), true);

p.155

2番目のコードの2行目

(誤) public bool TryParse(string uriString, out Uri uri) {

(正) public static bool TryParse(string uriString, out Uri uri) {

p.157

最初の注釈の1行目

(誤) 一時オブジェクト配列を作成ることは

(正) 一時オブジェクト配列を作成ることは、

p.164

注釈の3行目

(誤) いました

(正) っています

p.166

注釈の3行目

(誤) cityNames.RemoveAll(delegate(string name)) {

(正) cityNames.RemoveAll(delegate(string name) {

p.166

2番目のコードの最終行

(誤) timerStart();

(正) timer.Start();

p.172

本文の下から4行目

(誤) 制御の

(正) 制御の

p.183

2番目の注釈の3行目

(誤) コーの退屈さ

(正) コーディングの退屈さ

p.186

2番目の注釈

(誤) 成功で完了するか、またはそうではないかのどちらかであるメソッドのケースは、例外をスローするべきです。決断しないことのエラーは、通知された決断を行ったAPIの実装詳細についての十分な文脈を持ち合わせていないであろうAPIの呼び出し元に決断を強制します。

(正) メソッドは成功するか失敗するかのどちらかであり、失敗した場合は例外をスローすべきです。決断しないことはAPIの呼び出し元に判断を強制することであり、しかも呼び出し元はAPIの実装詳細を判断するには不十分な情報しか持っていないことが多いのです。

p.197

注釈の2行目

(誤) 意味があるようになるようにします。

(正) 意味があるようにします。

p.202

2番目の注釈の1~2行目

(誤) OutOfMemoryExceptionの原因の一つには、OutOfMemoryExceptionは暗黙的な自動ボックス化用の12バイトの取得に失敗した

(正) OutOfMemoryExceptionの原因の一つには、暗黙的な自動ボックス化用の12バイトの取得に失敗した

p.215

注釈の1行目

(誤) このガイドラインは、

(正) 以降のガイドラインは

p.220

8.3.3項の2行目

(誤) 使用

(正) 使用

p.222

2番目のガイドライン

(誤) AVOID

(正) DO-NOT

p.224

コードの下から3行目

(誤) public long UtcTickes { get; }

(正) public long UtcTicks { get; }

p.238

2番目のコードの1行目

(誤) [KnwonType(typeof(USAddress))]

(正) [KnownType(typeof(USAddress))]

p.242

上から2行目

(誤) info.AddValue("name", fullName");

(正) info.AddValue("name", fullName);

p.253

上から8行目

(誤) すべての集約コンポーネントに対して、既定または非常に単純なコンストラクタを提供します。

(正) すべての集約コンポーネントに対して、既定、または非常に単純なコンストラクタを提供します。

p.258

箇条書きの2行目

(誤) IAsyncResult.AsyncResultAsyncWaitHandle

(正) IAsyncResult.AsyncWaitHandle

p.260

コードの10行目

(誤) decimal d ~ GetFiboCore(i);

(正) decimal d = GetFiboCore(i);

p.262

最初のガイドラインの2行目

(誤) イベントベースの非同期パターンの使用を使用することによる主要な利点です。

(正) イベントベースの非同期パターンを使用することによる主要な利点です。

p.272

2番目のコードサンプル

272

p.278

上から7行目と下から6行目

(誤) Dipose()

(正) Dispose()

p.278

上から13~14行目

(誤) メソッドの一つです。

(正) メソッドです。

p.293

3番目のガイドラインの4行目

(誤) Whereメソッドの戻り値の型はIEnumerable<T>です

(正) Whereメソッドは定義されません。

p.304

コードの3行目以降

(誤) SetBounds(...);
      }

(正) SetBoundsCore(...);
      }
      protected virtual void SetBoundsCore(...){ ... }

以上、お詫びして訂正いたします