C#クックブック 第3版

[cover photo]
TOPICS
クックブック , Programming , C#
発行年月日
PRINT LENGTH
564
ISBN
978-4-87311-374-6
原書
C# 3.0 Cookbook, Third Edition
FORMAT
PDF
Print
5,060円
この商品は品切れ再入荷未定です

プログラマが頻繁に遭遇すると思われる問題点とその解決方法を150以上も紹介している、C#の中上級者を対象にしたレシピ集です。 C# 3.0の新機能、LINQを自在に操る方法や、例外処理、ファイルシステム、セキュリティ、スレッドと同期など、より高度なプログラミングをする際に必要となるテクニックを解説します。既刊の書籍には載っていない、C# 3.0の新機能に関する情報も数多く盛り込まれています。C#プログラマ待望の一冊となるでしょう。

関連ファイル

目次

まえがき

1章	統合言語クエリ(LINQ)
    レシピ1.0	概要
    レシピ1.1	メッセージキューに対するクエリ
    レシピ1.2	データに対する集合演算を行う
    レシピ1.3	LINQ to SQLにおいてパラメータクエリを再利用する
    レシピ1.4	カルチャ固有の順序に従って結果をソートする
    レシピ1.5	LINQを使用して拡張メソッドを作成する
    レシピ1.6	複数のデータレポジトリをまたいでデータを取得および連結する
    レシピ1.7	LINQを使用した構成ファイルへの問い合わせ
    レシピ1.8	データベースから直接XMLファイルを作成する
    レシピ1.9	クエリの実行結果を選択可能にする
    レシピ1.10	IEnumerable<T>をサポートしないコレクションに対してLINQを使用する

2章	ジェネリック
    レシピ2.0	概要
    レシピ2.1	ジェネリックを使用するタイミングと場所を決定する
    レシピ2.2	ジェネリック型を理解する
    レシピ2.3	ジェネリック型のTypeを取得する
    レシピ2.4	ArrayListを対応するジェネリッククラスに置き換える
    レシピ2.5	StackとQueueを対応するジェネリッククラスに置き換える
    レシピ2.6	LinkedListを使用する
    レシピ2.7	初期値nullの値型を作成する
    レシピ2.8	SortedListの要素を逆順にする
    レシピ2.9	ジェネリック型の読み取り専用コレクションの作成
    レシピ2.10	Hashtableを対応するジェネリッククラスに置き換える
    レシピ2.11	Dictionaryジェネリッククラスに対してforeachを使用する
    レシピ2.12	型パラメータに制限をかける
    レシピ2.13	ジェネリック型の特定の変数を型の既定値で初期化する

3章	反復子、部分型、部分メソッド
    レシピ3.0	概要
    レシピ3.1	ジェネリック型の反復子を作成する
    レシピ3.2	非ジェネリック型の反復子を作成する
    レシピ3.3	独自の列挙子を作成する
    レシピ3.4	反復子のロジックを実装する
    レシピ3.5	反復処理を強制的に終了する
    レシピ3.6	反復子とfinallyブロックを組み合わせる
    レシピ3.7	ネストされたforeachをサポートできるようにする
    レシピ3.8	インターフェイスの実装を整頓する
    レシピ3.9	メインのコードパスから外れたコードを自動生成する
    レシピ3.10	エンティティの生成時に行う処理を追加する
    レシピ3.11	引数をとる反復子を作成する
    レシピ3.12	単一の型に複数の反復子を追加する
    レシピ3.13	オーバーロードされた演算子として反復子を実装する

4章	例外処理
    レシピ4.0	概要
    レシピ4.1	キャッチした例外を再スローするタイミングを把握する
    レシピ4.2	Finallyブロック中においても例外オブジェクトが失われないようにしたい
    レシピ4.3	リフレクション経由で呼び出すメソッドから発生する例外を処理する
    レシピ4.4	ハンドルされていない例外を予防する
    レシピ4.5	例外情報を取得する
    レシピ4.6	諸悪の根源を素早く見つけ出す方法
    レシピ4.7	新しい例外型を作成する
    レシピ4.8	スタックトレースを取得する
    レシピ4.9	初回例外発生時にアプリケーションを一時停止する
    レシピ4.10	非同期デリゲートからスローされた例外の処理
    レシピ4.11	Exception.Dataを使って例外オブジェクトに追加情報を設定する
    レシピ4.12	Windowsフォームアプリケーションにおける未処理例外への対応
    レシピ4.13	WPFアプリケーションにおける未処理例外への対応
    レシピ4.14 一般的なエラーに対する例外の分析

5章	診 断
    レシピ5.0	概要
    レシピ5.1	デバッグ/トレース出力をきめ細かく管理する
    レシピ5.2	応答の無くなったプロセスを検出する
    レシピ5.3	アプリケーションからイベントログに出力する
    レシピ5.4	イベントログのエントリを検索する
    レシピ5.5	イベントログの特定のエントリを監視する
    レシピ5.6	単純なパフォーマンスカウンタを実装する
    レシピ5.7	複雑な追跡用コードを有効化または無効化する
    レシピ5.8	プロセスの標準出力をキャプチャする
    レシピ5.9	クラスに独自のデバッグ表示機能を実装する

6章	デリゲート、イベント、ラムダ式
    レシピ6.0	概要
    レシピ6.1	マルチキャストデリゲートに含まれるデリゲートを呼び出すタイミングや条件を制御する
    レシピ6.2	マルチキャストデリゲート中の各デリゲートの返り値を取得する
    レシピ6.3	マルチキャストデリゲート中の各デリゲートの呼び出し時に発生した例外を個別に処理する
    レシピ6.4	デリゲートの同期呼び出しを非同期呼び出しに変更する
    レシピ6.5	インターフェイス検索メカニズムの強化
    レシピ6.6	ディクショナリに対する追加や変更の監視
    レシピ6.7	ラムダ式の使用
    レシピ6.8	イベントハンドラを簡潔に設定する
    レシピ6.9	異なるパラメータ修飾子を持つラムダ式を使用する
    レシピ6.10	C#でのクロージャの使用
    レシピ6.11	ファンクタを使用して一連のデータに対して複数の処理を行う

7章	データ構造とアルゴリズム
    レシピ7.0	概要
    レシピ7.1	データの型に合わせたハッシュコードの作成
    レシピ7.2	優先待ち行列の作成
    レシピ7.3	一対多マップ(マルチマップ)の作成
    レシピ7.4	二分木の作成
    レシピ7.5	n分木の作成
    レシピ7.6	HashSetオブジェクトの利用

8章	ファイルシステムI/O
    レシピ8.0	概要
    レシピ8.1	ファイル属性の操作
    レシピ8.2	ファイル名の変更
    レシピ8.3	プラットフォームに依存しないEOL文字の出力
    レシピ8.4	ディレクトリ属性の操作
    レシピ8.5	ディレクトリ名の変更
    レシピ8.6	ワイルドカードを使用したディレクトリまたはファイル検索
    レシピ8.7	ディレクトリ構造の取得
    レシピ8.8	パスの解析
    レシピ8.9	環境変数におけるパスの解析
    レシピ8.10	コンソールアプリケーションの起動および利用方法
    レシピ8.11	ファイルの排他処理
    レシピ8.12	ファイルシステム内アクションの待機
    レシピ8.13	実行可能モジュールのバージョン情報の比較
    レシピ8.14	システム内のドライブへの問い合わせ
    レシピ8.15	ファイルの圧縮と解凍

9章	リフレクション
    レシピ9.0	概要
    レシピ9.1	参照先のアセンブリ一覧を取得する
    レシピ9.2	外部公開された型の一覧を取得する
    レシピ9.3	オーバーライドされたメソッドの検出
    レシピ9.4	アセンブリ中からメンバを検索する
    レシピ9.5	アセンブリに含まれるネストされた型を検出して取得する
    レシピ9.6	型の継承階層を表示する
    レシピ9.7	型のサブクラスを検索する
    レシピ9.8	アセンブリに含まれるすべてのシリアル化可能なクラスを検索する
    レシピ9.9	メンバの動的呼び出し
    レシピ9.10	クラスまたはメソッドがジェネリックかどうかを判別する
    レシピ9.11	ローカル変数に関する情報を参照する
    レシピ9.12	ジェネリック型の作成

10章	セキュリティ
    レシピ10.0	概要
    レシピ10.1	ローカルアセンブリの型に対するアクセスを制御する
    レシピ10.2	文字列の暗号化および復号化
    レシピ10.3	ファイルの暗号化および復号化
    レシピ10.4	暗号化に関する情報を消去する
    レシピ10.5	データ転送時に文字列が改ざんされていないかどうかを検証する
    レシピ10.6	データを安全に保持する
    レシピ10.7	セキュリティ権限を安全な方法で設定する
    レシピ10.8	アセンブリが特定の権限を持つことを検証する
    レシピ10.9	アセンブリの攻撃対象となり得る領域を最小限にする
    レシピ10.10	セキュリティおよび監査情報を取得する
    レシピ10.11	ファイルまたはレジストリキーのアクセス権限を設定または解除する
    レシピ10.12	文字列をSecureStringによって保護する
    レシピ10.13	Streamデータを保護する
    レシピ10.14	web.configファイルの情報を暗号化する
    レシピ10.15	SecurityExceptionが発生する原因を把握する
    レシピ10.16	Unicodeエンコーディングを安全に処理する
    レシピ10.17	ファイルハンドルをより安全に操作する

11章	スレッドと同期
    レシピ11.0	概要
    レシピ11.1	スレッドごとにstaticフィールドを作成する
    レシピ11.2	クラスメンバへのスレッドセーフなアクセスを実現する
    レシピ11.3	暗黙的なスレッド終了を回避する
    レシピ11.4	非同期デリゲートの完了通知を受け取る
    レシピ11.5	スレッド固有のデータを非公開で保持する
    レシピ11.6	セマフォを利用した複数スレッドからのリソースアクセス許可
    レシピ11.7	Mutexを使用した複数プロセスの同期
    レシピ11.8	イベントを使用して複数スレッドを協調する
    レシピ11.9 	イベントの命名権を取得する
    レシピ11.10	スレッド間で処理を不可分に実行する
    レシピ11.11	読み取り主体のアクセスを効率的に実行する

12章	数値と列挙型
    レシピ12.0	概要
    レシピ12.1	度とラジアンの変換
    レシピ12.2	さまざまなデータ型におけるビットごとの補数演算
    レシピ12.3	n進数と10進数との変換
    レシピ12.4	数値を表す文字列の有効性の確認
    レシピ12.5	浮動小数点数値の丸め込み
    レシピ12.6	丸め込みアルゴリズムの選択
    レシピ12.7	温度単位の変換
    レシピ12.8	安全な数値の縮小変換
    レシピ12.9	列挙体メンバの文字列での表示
    レシピ12.10	標準文字列を相当する列挙型に変換
    レシピ12.11	列挙型の有効性の確認
    レシピ12.12	Flags属性を付与された列挙型の値の有効性の確認
    レシピ12.13	列挙型メンバのビットマスクとしての使用
    レシピ12.14	1つ以上の列挙型フラグの状態確認
    レシピ12.15	DecimalやDoubleの整数部分の確認

索 引