最近はC#を基礎から勉強しようと思い、わんくま同盟でも活躍されている著者の面々にあこがれて買ったこの本。
サブタイトルの「JavaかC++の知識があれば、いっそう有利な最短ルート」とあるように、この本はC++やJavaと比較しながら説明されています。
とくに良かった点は、「C#の××はC++では○○に相当しますが、△△な点が異なります。」というような表現は多かった事。
知りたかったポイントや、知らなくてちょっとヒヤっとした点など、簡素にまとまっています。
C#は過去に何かしらのプログラムをやった事があって、.NETの名前空間に慣れれば何となくプログラムできてしまいますが、逆に過去の知識が邪魔をして陥り易いミスもあると思います。
そんなC#をある程度やって、初級から中級、上級をめざす方にお勧めな本だと思います。
逆にまったくC#が初めてだと、ちょっと難しく感じると思います。
目次
Part 1 C#の文法 速攻入門
Chapter 1 C#とは?
1.1 C#の特徴
1.2 .NET Framework
Chapter 2 プログラム構造
2.1 基本的な構文―Hello World
2.2 コメント
2.3 名前空間
2.4 型―名前空間に属するメンバー
2.5 Mainメソッド
Chapter 3 手続きの記述
3.1 式の概要
3.2 ステートメントの概要
3.3 変数の宣言
3.4 演算子
3.5 制御構文
3.6 オーバーフローのチェック
3.7 例外処理
3.8 usingステートメント
3.9 型情報
3.10 既定値
3.11 lockステートメント
3.12 ラムダ式
3.13 クエリ式
Chapter 4 型
4.1 値型と参照型の違い
4.2 組み込み型
4.3 ジェネリック
Chapter 5 クラス
5.1 クラスの定義
5.2 アクセシビリティ
5.3 クラスのメンバー
5.4 静的メンバー
5.5 継承
5.6 クラスの分割定義
5.7 外部メソッド
5.8 匿名クラス
Chapter 6 インターフェイス
6.1 インターフェイスの定義
6.2 インターフェイスの実装
Chapter 7 構造体
7.1 構造体の定義
7.2 クラスあるいは構造体の選択
Chapter 8 列挙型
8.1 列挙型の定義
8.2 列挙型の利用
8.3 ビットフラグ
8.4 拡張メソッドの利用
Chapter 9 デリゲート
9.1 デリゲートの定義
9.2 デリゲートの利用
9.3 匿名関数
Chapter 10 配列
10.1 配列の利用
10.2 多次元配列
10.3 System.Array型
10.4 配列の共変性
Chapter 11 Null許容型
11.1 Null許容型の利用
11.2 Nullable構造体
11.3 型変換
11.4 演算子
Chapter 12 属性
12.1 属性の例
12.2 属性の定義
12.3 属性の適用
12.4 属性値の実行時取得
12.5 C#コンパイラが使用する属性
12.6 相互運用のための属性
Chapter 13 安全でないコード
13.1 ポインターとは?
13.2 「安全でないコード」の注意点
13.3 unsafeコンテキスト
13.4 ポインター型
13.5 sizeof演算子の利用
13.6 アドレスの固定化
13.7 スタックの割り当て
13.8 固定サイズバッファーの埋め込み
Part 2 C#のポイント 速攻入門
Chapter 1 ジェネリック
1.1 ジェネリックの利用方法
1.2 内部的な方式の比較
1.3 実装方式の比較
1.4 メンバー参照
1.5 強い型付け
Chapter 2 定数と読み取り専用
2.1 バージョニング問題
2.2 フィールドの再代入禁止とオブジェクトの不変性
2.3 引数の既定値
Chapter 3 例外処理
3.1 例外の利用場面
3.2 try-catchとtry-finally
Chapter 4 リソース管理
4.1 ガベージコレクション
4.2 デストラクター
Chapter 5 イベント駆動
5.1 イベント構文
5.2 イベントとメモリリーク
Chapter 6 暗黙的な型指定
6.1 冗長性の排除
6.2 オーバーロードとジェネリック
6.3 varと匿名型
Chapter 7 データ処理
7.1 反復子構文
7.2 反復子構文を使ったデータの加工
7.3 LINQ
Part 3 C#活用 速攻入門
Chapter 1 ファイルの読み書き
1.1 サンプルの内容
1.2 LINQを使ったCSVファイルの読み書き
1.3 ReadLinesの内部挙動
1.4 LINQを使わない例
1.5 ファイルの読み書きに関係するその他のクラス
Chapter 2 GUI
2.1 簡単なGUIアプリケーションの例
2.2 GUIと非同期処理
2.3 視覚的デザインツールの利用
2.4 ビューの分離
Chapter 3 Webアクセス
3.1 Webページの表示
3.2 Webアクセスのためのクラス
3.3 Webサービスの利用
3.4 Webアクセスに関係するその他のクラス
Chapter 4 Win32 APIとCOMの扱い
4.1 単純なP/Invokeの例
4.2 文字列を受け渡しするP/Invoke
4.3 文字列を渡す場合のその他の方法
4.4 構造体を利用したP/Invoke
4.5 COMのやり取り
4.6 MS Officeなどとのやり取り
Chapter 5 データベースアクセス
5.1 一番シンプルなADO.NET
5.2 ExecuteReaderとMARS
5.3 DataSetを使ったデータアクセス方法
5.4 DataSetなどで隠蔽されたデータの行方
5.5 DataSetを使ってデータの絞り込みを行う方法
5.6 DataSetを使ったデータの更新削除
5.7 LINQ to SQLを使ってデータの絞り込みを行う方法
5.8 LINQ to SQLを使った更新方法
5.9 LINQ to SQLのその他の違い
5.10 LINQ to SQLのSELECTでストアドプロシージャを使う方法
5.11 Entity Frameworkを利用したデータアクセス
5.12 Entity FrameworkのSELECTでストアドプロシージャを使う方法
5.13 どの技術を使うのが良いのか?
Chapter 6 並列処理
6.1 Threadクラスを利用する方法
6.2 同期化の方法
6.3 プロセスをまたいだ排他処理
6.4 スレッドセーフなコレクション
6.5 デリゲートを利用する方法
6.6 BackgroundWorkerを利用する方法
6.7 Taskを利用する方法
6.8 Parallel.For,Parallel.ForEachを利用する方法
6.9 Parallel LINQを利用する方法
Chapter 7 実行時コード生成
7.1 静的なコード
7.2 リフレクション
7.3 動的に生成したコードのキャッシュ
コメント