.NET Frameworkを理解しC#を使いこなすための50の方法
現場でフルにC#プログラミングを行っている開発者にとって、知らなかったでは済まされない知識とテクニックを、50の項目に分けて詳解します。すなわち、初心者本で得た知識だけで作った“動く”プログラミングを脱し、真の意味で“稼働する”プログラミングへの第一歩は、この一冊から始まるのです。本書は.NET Frameworkの最新バージョン、4.0に対応したプログラミング言語C#の福音書と呼べるでしょう。
第1章 イディオム
項目1 アクセス可能なデータメンバの変わりに常にプロパティを使用すること
項目2 constよりもreadonlyを使用する
項目3 キャスト時にはisあるいはas演算子を使用すること
項目4 #ifの代わりにConditional属性を使用する
項目5 ToString()を常に実装すること
項目6 さまざまな同値性メソッドの関係を把握する
項目7 GetHashCode()の罠に注意する
項目8 ループの代わりにクエリ構文を使用すること
項目9 独自のAPIでは変換演算子を定義しないこと
項目10 メソッドのオーバーロードを最小限にするよう、オプション引数を使用する
項目11 機能を最小限かつシンプルにすること
第2 章 リソース管理
項目12 割り当て演算子よりもメンバ初期化子を使用すること
項目13 staticメンバは適切に初期化する
項目14 初期化ロジックの重複を最小化する
項目15 using およびtry...finallyを使用してリソースの後処理を行う
項目16 不必要なオブジェクトの生成を避けること
項目17 Disposeパターンの標準的な実装
項目18 値型と参照型の違い
項目19 値型における0を正常な状態とすること
項目20 値型は不変かつアトミックにすること
第3 章 デザインの表現
項目21 型の可視性を制限すること
項目22 継承よりもインターフェイスの定義および実装を行うこと
項目23 インターフェイスメソッドと仮想メソッドの違いを理解する
項目24 デリゲートを使用してコールバックを実現する
項目25 イベントパターンの実装により通知を行うこと
項目26 クラス内オブフェクトの参照を返さないようにすること
項目27 型はできるだけシリアル化可能にすること
項目28 粒度の粗いインターネットサービスAPIを作成する
項目29 ジェネリックの共変性と反変性をサポートする
第4 章 フレームワークの活用
項目30 イベントハンドラよりもオーバーライドを優先すること
項目31 IComparable<T>とIComparer<T>を実装して順序関係をサポートする
項目32 ICloneableを使用しないこと
項目33 親クラスの変更に応じる場合のみnew修飾子を使用すること
項目34 基本クラスに定義されたメソッドをオーバーロードしないこと
項目35 PLINQが並列アルゴリズムを実装する方法
項目36 I/Oのコストが高い処理に対してPLINQを使用する方法
項目37 例外を考慮した並列アルゴリズムを構成すること
第5 章 動的プログラミング
項目38 dynamicの利点と欠点を把握する
項目39 ジェネリック型引数の実行時型を活用するためにdynamicを使用する
項目40 匿名型を引数にとれるようdynamicを使用する
項目41 DynamicObjectあるいはIDynamicMetaObjectProviderを使用してデータ駆動のdynamic型を作成する
項目42 Expression APIを活用する方法を把握する
項目43 式を利用して事前バインディングを遅延バインディングに切り替える
項目44 公開するAPIでは動的オブジェクトを最小限に抑えること
第6 章 その他
項目45 ボックス化、ボックス化解除を最小限に抑える
項目46 完全にアプリケーション固有の例外クラスを作成する
項目47 例外を強く保証すること
項目48 安全なコードを採用すること
項目49 CLS互換性のあるアセンブリを作成すること
項目50 より小さく凝集したアセンブリを作成すること
本書は付属データの提供はございません。
書籍への問い合わせ
正誤表、追加情報をご確認の上、こちらよりお問い合わせください
書影の利用許諾について
本書籍に関する利用許諾申請はこちらになります
ご購入いただいた書籍の種類を選択してください。
刷数は奥付(書籍の最終ページ)に記載されています。
現在表示されている正誤表の対象書籍
書籍の種類:
書籍の刷数:
本書に誤りまたは不十分な記述がありました。下記のとおり訂正し、お詫び申し上げます。
対象の書籍は正誤表がありません。
最終更新日:2011年02月21日
発生刷 |
ページ数 |
書籍改訂刷 |
電子書籍訂正 |
内容 |
登録日 |
1刷 |
9
(コードを除き)本文の下から9行目 |
2刷 |
未 |
誤 |
最も重要な違いは、readonlyキーワードが指定された値はコンパイル時に解決される |
正 |
最も重要な違いは、readonlyキーワードが指定された値は実行時に解決される |
|
2011.02.21 |