C#を自由自在に操りたい人が読むべきなのは
プログラミング Microsoft Visual C# 2005 言語編 (マイクロソフト公式解説書)
ピヨ。リンク先はAmazonだよ。先ずは目次を見てみよう。
※余裕がある人はC#2008年度版を待とう
はじめに
第1部 基本概念
第1章 Visual C#プログラミングの概要
1.1 言語のルーツ
1.2 C#言語の中核機能
1.2.1 シンボルとトークン
1.2.2 キーワード
1.2.3 プリミティブ型
1.3 C#のサンプルプログラム
1.4 名前空間
1.5 Mainエントリポイント
1.6 ローカル変数
1.7 null許容型
1.8 式
1.9 選択ステートメント
1.10 繰り返しステートメント
1.11 クラス
第2章 クラスと型
2.1 クラス
2.1.1 クラスメンバ
2.1.2 メンバメソッド
2.2 構造体
2.3 列挙体
2.3.1 ビット単位の列挙
2.4 同一性と等価性
2.5 クラスの改変
第3章 継承
3.1 継承の例
3.2 System.Object
3.2.1 Object.Equalsメソッド
3.2.2 Object.GetHashCodeメソッド
3.2.3 Object.GetTypeメソッド
3.2.4 Object.ToStringメソッド
3.2.5 Object.MemberwiseCloneメソッド
3.2.6 Object.ReferenceEqualsメソッド
3.3 Employeeクラス
3.4 継承の実装
3.4.1 アクセス修飾子
3.5 オーバーライド
3.5.1 virtualとoverrideキーワード
3.5.2 オーバーロードとオーバーライド
3.5.3 イベントのオーバーライド
3.6 new修飾子
3.7 抽象クラス
3.8 シールクラス
3.9 コンストラクタとデストラクタ
3.10 インターフェイス
3.10.1 インターフェイスの実装
3.10.2 インターフェイスメンバの明示的な実装
3.10.3 インターフェイスの再実装
3.11 ポリモーフィズム
3.11.1 インターフェイスのポリモーフィズム
3.11.2 new修飾子とポリモーフィズム
3.12 キャスト
3.12.1 継承演算子
3.13 属性の継承
3.14 Microsoft Visual Studio 2005
第2部 基本スキル
第4章 Visual Studio 2005の概要
4.1 統合開発環境
4.1.1 スタートページ
4.1.2 コミュニティの統合
4.1.3 プロジェクトの作成
4.1.4 ソリューションエクスプローラ
4.1.5 参照の追加
4.1.6 [データ]メニュー
4.1.7 Visual Studioでのウィンドウの管理
4.1.8 自動バックアップ
4.2 クラス階層
4.2.1 クラスビュー
4.2.2 オブジェクトブラウザ
4.2.3 クラスダイアグラム
4.2.4 継承
4.2.5 関連付け
4.2.6 クラスダイアグラムのチュートリアル
4.2.7 エラー一覧
4.3 コードエディタ
4.3.1 IntelliSense
4.3.2 ブロックの挿入
4.3.3 フォントと色の設定
4.3.4 ソースコードの書式設定
4.3.5 変更の追跡
4.3.6 プロファイル
4.4 コードスニペット
4.4.1 コピーと貼り付け
4.4.2 コードスニペットの挿入
4.4.3 既定のスニペット
4.4.4 コードスニペットマネージャ
4.4.5 スニペットの作成
4.5 リファクタリング
4.5.1 リファクタリングのチュートリアル
4.6 ビルドと配置
4.7 MSBuild
4.7.1 項目
4.7.2 プロパティ
4.7.3 タスク
4.7.4 プロジェクトファイル
4.7.5 MSBuildのチュートリアル
4.8 ClickOnceの配置
4.8.1 ClickOnceアプリケーションの発行
4.9 配列とコレクション
第5章 配列とコレクション
5.1 配列
5.1.1 配列の要素
5.1.2 多次元配列
5.1.3 ジャグ配列
5.1.4 System.Array
5.1.5 System.Arrayのプロパティ
5.1.6 paramsキーワード
5.1.7 配列の変換
5.2 コレクション
5.2.1 ArrayListコレクション
5.2.2 BitArrayコレクション
5.2.3 Hashtableコレクション
5.2.4 Queueコレクション
5.2.5 Stackコレクション
5.2.6 特殊なコレクション
5.3 ジェネリック
第6章 ジェネリック
6.1 ジェネリック型
6.1.1 型パラメータ
6.1.2 構築型
6.2 ジェネリックメソッド
6.2.1 メソッドのオーバーロード
6.2.2 ジェネリック型のthis参照
6.3 制約
6.3.1 派生制約
6.3.2 インターフェイス制約
6.3.3 値型制約
6.3.4 参照型制約
6.3.5 コンストラクタ制約
6.4 キャスト
6.5 継承
6.5.1 メソッドのオーバーライド
6.5.2 入れ子にされた型
6.6 静的メンバ
6.6.1 演算子のオーバーロード
6.6.2 シリアル化
6.6.3 ジェネリックの内部構造
6.6.4 ジェネリックコレクション
6.7 列挙子
第7章 反復子
7.1 列挙可能なオブジェクト
7.2 ジェネリック列挙子
7.3 反復子
7.4 デリゲートとイベント
第3部 高度な機能
第8章 デリゲートとイベント
8.1 デリゲート
8.1.1 デリゲートの定義
8.1.2 デリゲートの生成
8.1.3 デリゲートの起動
8.1.4 デリゲート配列
8.1.5 非同期呼び出し
8.1.6 非同期デリゲートダイアグラム
8.1.7 例外
8.2 匿名メソッド
8.2.1 外部変数
8.2.2 ジェネリック匿名メソッド
8.2.3 匿名メソッドの制限
8.3 イベント
8.3.1 イベントの発行
8.3.2 イベントの受信
8.3.3 イベント発生
8.4 例外処理
第9章 例外処理
9.1 例外の例
9.2 一般的な例外のモデル
9.3 構造的な例外処理
9.3.1 tryステートメント
9.3.2 catchステートメント
9.3.3 finallyステートメント
9.3.4 例外情報テーブル
9.3.5 入れ子にされたtryブロック
9.4 System.Exception
9.4.1 System.Exceptionのメソッド
9.4.2 System.Exceptionのプロパティ
9.4.3 アプリケーション例外
9.4.4 例外の変換
9.4.5 COMの相互運用性の例外
9.5 リモート例外
9.6 処理されない例外
9.6.1 Application.ThreadExceptionイベント
9.6.2 AppDomain.UnhandledExceptionイベント
9.7 Visusl Studioにおける例外の管理
9.7.1 例外処理アシスタント
9.7.2 [例外]ダイアログボックス
9.8 メタデータとリフレクション
第4部 デバッグ
第10章 メタデータとリフレクション
10.1 メタデータ
10.1.1 トークン
10.1.2 メタデータヒープ
10.1.3 ストリーム
10.1.4 メタデータ検証
10.1.5 ILDASMツール
10.2 リフレクション
10.2.1 Typeオブジェクトの取得
10.2.2 アセンブリの読み込み
10.2.3 型情報の検索
10.2.4 動的呼び出し
10.2.5 型の生成
10.2.6 遅延バインディングのデリゲート
10.2.7 メソッド呼び出しのパフォーマンス
10.3 リフレクションとジェネリック
10.3.1 IsGenericプロパティとIsGenericTypeDefinitionプロパティ
10.3.2 typeof演算子
10.3.3 GetTypeメソッド
10.3.4 GetGenericTypeDefinitionメソッド
10.3.5 GetGenericArgumentsメソッド
10.3.6 ジェネリック型の生成
10.3.7 リフレクションのセキュリティ
10.3.8 属性
10.3.9 カスタム属性の作成
10.3.10 属性とリフレクション
10.4 MSIL
第11章 MSIL プログラミング
11.1 "Hello World"アプリケーション
11.2 評価スタック
11.3 MSILの詳細
11.4 複合タスク
11.5 分岐
11.6 配列
11.7 算術命令
11.8 プロセス実行
11.9 Visual Studio 2005によるデバッグ
第12章 Visual Studio 2005によるデバッグ
12.1 デバッグの概要
12.1.1 Windowsフォームプロジェクトのデバッグ
12.1.2 デバッグの構成
12.1.3 デバッグ設定
12.1.4 Visual Studioのデバッグ用インターフェイス
12.1.5 ブレークポイント
12.1.6 コードのステップ実行
12.1.7 [デバッグ]ツールバー
12.1.8 デバッグウィンドウ
12.1.9 トレース
12.1.10 DebuggerDisplayAttributeクラス
12.1.11 ダンプファイル
12.2 高度なデバッグ
第13章 高度なデバッグ
13.1 DebuggableAttribute属性
13.2 デバッガ
13.3 JIT(Just-In-Time)デバッグ
13.4 マネージデバッガ
13.4.1 MDbgチュートリアル
13.4.2 MDbgコマンド
13.5 WinDbg
13.5.1 WinDbgの基本的なコマンド
13.6 Son of Strike(SOS)
13.6.1 SOSチュートリアル-Part I
13.6.2 SOSチュートリアル-Part II
13.7 ダンプ
13.7.1 ADPlus
13.7.2 ワトソン博士
13.8 メモリ管理
13.8.1 参照ツリー
13.8.2 ジェネレーション
13.8.3 ファイナライゼーション
13.8.4 パフォーマンスモニタ
13.9 スレッド
13.9.1 スレッドコマンド
13.10 例外
13.11 シンボル
13.11.1 Symsrvシンボルサーバー
13.11.2 アプリケーションシンボル
13.12 メモリ管理
第5部 高度な概念
第14章 メモリ管理
14.1 アンマネージリソース
14.1.1 ガベージコレクションの概要
14.1.2 GCの実行モード
14.2 ファイナライザ
14.3 IDisposable.Dispose
14.3.1 Disposableパターン
14.3.2 Disposableパターンの検討事項
14.3.3 内部オブジェクトの破棄
14.4 弱い参照
14.4.1 弱い参照の内部
14.4.2 WeakReferenceクラス
14.4.3 重大なファイナライザオブジェクト
14.4.4 CER
14.4.5 アンマネージリソースの管理
14.5 GCクラス
14.6 安全でないコード
第15章 アンセーフコード
15.1 unsafeキーワード
15.1.1 ポインタ
15.1.2 ポインタによるパラメータと戻り値
15.1.3 プラットフォーム呼び出し
15.2 まとめ
付録 演算子のオーバーロード
A-1 算術演算子と論理演算子
A-1-1 実装
A-1-2 インクリメント演算子およびデクリメント演算子
A-1-3 左シフト演算子および右シフト演算子
A-1-4 trueおよびfalse
A-1-5 ペアでオーバーロードする演算子
A-2 変換演算子
A-2-1 文字列演算子
A-3 実際の例
A-4 演算子のオーバーロードの内部の動き
どう?目次を見ただけでC#に詳しくなる事が分かるよね。でも、一つの書籍が全ての消費者に答えられるわけはないので、ボクがこの書籍を必要とすると思う人を考えたピヨ。
先ず考えられるのは
C#の初心者ピヨ。初心者はこのページ数に圧倒されると思うけど、
下手に初心者用の本を読んでも同じぐらいのページ数を読む事になるピヨ。それに、
安物買いの銭失いとなるピヨ。それに初心者の人はよく誤解しているけど、
本当に必要としているのは初心者用と題名の本ではないピヨ。その辺を注意してね。もしかしたら、この本を読んでも分からなくて、もっと簡単な本が欲しくなる時もあると思う。だけど、
何が分からないのか知らないといけないのでこの書籍が適しているピヨ。
次に考えられるのはC#のプロピヨ。よくこの本の目次を見て欲しい。
ツールの説明が多いピヨ。そこが逆にいいんだ。というのも、業務では開発ツールを使用するから、ツールの説明が多い方が助かるんだ。しかもそのツールは、
MSBuild
、
コードスニペット、
ILDASMとプロが使うべきものなんだよ。しかも
MSILについて書かれている数少ない書籍だからプロにお勧めするピヨ。
今までお勧めする人を書いたけど、公平なレビューをするには逆の場合も書かなければいけないから辛口で書くよ。この書籍の弱点は、
ディープな人にとっては中途半端な事ピヨ。具体的に言うと、MSBuildはそれ一冊がかけるほど深いから、たったこれだけのページでマスター出来ないピヨ。もちろん、MSILについても然りで、このページ数では本当にMSILを必要としている人には情報が足りなすぎる。おまけに言語の構文についても中途半端さが感じられる。
だから、C#を既にバリバリ使いこなしている人には向かないと思う。
纏めると、初心者や明日の業務にC#を使いたいプロにとっては本書は適しているけども、既にC#をバリバリ使いこなしていて、個別のディープな内容を求めている人には向かないとボクは思うピヨ。どうせならば、MSBuildとMSILは別の書籍を用意して、ツールの説明に徹した本か、構文に徹した本にすれば理想的ピヨ。でも、それらの本が出版されたらこの本が
糊本となるかもしれないね。
テーマ : パソコン関連お役立ち情報
ジャンル : コンピュータ