プログラミングC# 第4版
- Jesse Liberty 著、鈴木 幸敏、首藤 一幸、株式会社情報技研 訳
- 2006年02月 発行
- 672ページ
- ISBN4-87311-264-8
- フォーマット
- 原書: Programming C#, Fourth Edition
この商品は品切れ再入荷未定です
内容
JIS策定に伴い、ますます人気の高まっているプログラミング言語C#。本書はC#を体系的に網羅した信頼のおける解説書の改訂第4版です。言語仕様から応用にいたるまで、C#プログラミングに必要な情報すべてが本書1冊に詰め込まれています。C#の構文、クラスとオブジェクト、継承とポリモーフィズム、演算子のオーバーロード、構造体、インターフェイス、配列とインデクサ、コレクション、文字列操作と正規表現、例外処理、デリゲートとイベント、WindowsフォームやWebフォームの作成、Webサービスの構築などC#プログラミングを極めるための実践的な解説が満載です。
目次
まえがき
I部 C#言語
1章 C#と.NET Framework
1.1 .NETプラットフォーム
1.2 .NET Framework
1.3 コンパイルとMSIL
1.4 C#言語
2章 最初の一歩:Hello World
2.1 クラス、オブジェクト、型
2.1.1 メソッド
2.1.2 コメント
2.1.3 コンソールアプリケーション
2.1.4 名前空間
2.1.5 ドット演算子(.)
2.1.6 usingキーワード
2.1.7 アルファベットの大文字と小文字
2.1.8 staticキーワード
2.2 “Hello World”の開発
2.2.1 “Hello World”の編集
2.2.2 “Hello World”のコンパイルと実行
2.3 Visual Studioデバッガの使用
3章 C#言語の基礎
3.1 型
3.1.1 組み込みの型
3.2 変数と定数
3.2.1 確実な代入
3.2.2 定数
3.2.3 列挙体
3.2.4 文字列
3.2.5 識別子
3.3 式
3.4 空白文字
3.5 文
3.5.1 無条件分岐
3.5.2 条件分岐
3.5.3 繰り返し文
3.6 演算子
3.6.1 代入演算子(=)
3.6.2 算術演算子
3.6.3 インクリメント、デクリメント演算子
3.6.4 関係演算子
3.6.5 条件式に用いる論理演算子
3.6.6 演算子の優先順位
3.6.7 唯一の3項演算子
3.7 プリプロセスディレクティブ
3.7.1 シンボルの定義
3.7.2 シンボルの未定義化
3.7.3 #if、#elif、#else、#endif
3.7.4 #region
4章 クラスとオブジェクト
4.1 クラスの定義
4.1.1 アクセス修飾子
4.1.2 メソッドの引数
4.2 オブジェクトの作成
4.2.1 コンストラクタ
4.2.2 初期化子
4.2.3 ICloneableインターフェイス
4.2.4 thisキーワード
4.3 staticメンバの使用
4.3.1 staticメソッドの呼び出し
4.3.2 staticコンストラクタの使用
4.3.3 staticクラス
4.3.4 staticフィールドの使用
4.4 オブジェクトの破壊
4.4.1 C#のデストラクタ
4.4.2 デストラクタかDisposeか
4.4.3 Closeメソッド
4.4.4 using文
4.5 引数の受け渡し
4.5.1 参照渡し
4.5.2 out引数による確実な代入
4.6 メソッドとコンストラクタのオーバーロード
4.7 プロパティによるデータのカプセル化
4.7.1 getアクセサ
4.7.2 setアクセサ
4.7.3 プロパティのアクセス修飾子
4.8 readonlyフィールド
5章 継承とポリモーフィズム
5.1 特化と汎化
5.2 継承
5.2.1 継承の実装方法
5.3 ポリモーフィズム
5.3.1 ポリモーフィックな型の作成
5.3.2 ポリモーフィックなメソッドの作成
5.3.3 基本クラスのコンストラクタの呼び出し
5.3.4 アクセス制御
5.3.5 newとオーバーライドによるバージョン管理
5.4 抽象クラス
5.4.1 abstractの限界
5.4.2 シールクラス
5.5 すべてのクラスの根:Object
5.6 型のボックス化とボックス化解除
5.6.1 ボックス化は暗黙のうちに
5.6.2 ボックス化解除は明示的に
5.7 入れ子になったクラス
6章 演算子のオーバーロード
6.1 operatorキーワード
6.2 他.NET言語への配慮
6.3 オーバーロードすべき場合
6.4 対となる比較演算子
6.5 ==演算子
6.6 変換演算子
7章 構造体
7.1 構造体の定義
7.2 構造体の作成
7.2.1 値型
7.2.2 newを用いない構造体の作成
8章 インターフェイス
8.1 インターフェイスの定義および実装
8.1.1 複数のインターフェイスの実装
8.1.2 インターフェイスの拡張
8.1.3 インターフェイスの結合
8.2 インターフェイスの型を通したアクセス
8.2.1 インターフェイスから特定の型へのキャスト
8.2.2 is演算子
8.2.3 as演算子
8.2.4 is演算子かas演算子か
8.2.5 インターフェイスか抽象クラスか
8.3 インターフェイスが規定するメソッドのオーバーライド
8.4 明示的なインターフェイスメンバの実装
8.4.1 インターフェイスメンバの選択的な公開
8.4.2 メンバの隠蔽
8.4.3 インターフェイスを通した値型へのアクセス
9章 配列、インデクサ、コレクション
9.1 配列
9.1.1 配列の宣言
9.1.2 要素の既定値
9.1.3 配列の要素へのアクセス
9.2 foreach文
9.2.1 配列の各要素の初期化
9.2.2 paramsキーワード
9.2.3 多次元配列
9.2.4 配列の境界
9.2.5 配列の型変換
9.2.6 配列のソート
9.3 インデクサ
9.3.1 インデクサと代入
9.3.2 整数以外を添字とするインデクサ
9.4 コレクションのためのインターフェイス
9.4.1 IEnumerable>T<インターフェイス
9.5 制約
9.6 List>T<
9.6.1 IComparableインターフェイスの実装
9.6.2 IComparerインターフェイスの実装
9.7 Queueクラス
9.8 Stackクラス
9.9 Dictionaryクラス
9.9.1 IDictionary>K,V<
10章 文字列と正規表現
10.1 文字列
10.1.1 文字列の作成
10.1.2 ToStringメソッド
10.1.3 文字列の操作
10.1.4 部分文字列の取得
10.1.5 文字列の分割
10.1.6 StringBuilderクラス
10.2 正規表現
10.2.1 正規表現を使う:Regexクラス
10.2.2 MatchCollectionクラス
10.2.3 グループ
10.2.4 CaptureCollectionクラス
11章 例外
11.1 例外の発生と捕捉
11.1.1 throw文
11.1.2 catch節
11.1.3 finally節
11.2 例外オブジェクト
11.3 独自の例外
11.4 例外の再スロー
12章 デリゲートとイベント
12.1 デリゲート
12.1.1 デリゲートを使ったメソッドの実行時指定
12.1.2 デリゲートとインスタンスメソッド
12.1.3 staticデリゲート
12.1.4 デリゲートを提供するプロパティ
12.2 マルチキャスト
12.3 イベント
12.3.1 publishとsubscribe
12.3.2 イベントとデリゲート
12.3.3 イベントによるデリゲートの問題点の解決
12.3.4 eventキーワード
12.4 匿名メソッドの使用
12.5 マルチキャストデリゲートの各メソッドからの返り値
12.5.1 デリゲートの非同期呼び出し
12.5.2 コールバック
II部 C#プログラミング
13章 Windowsアプリケーションの作成
13.1 単純なWindowsフォームの作成
13.1.1 Visual Studioのデザイナを使う
13.2 Windowsフォームアプリケーションの作成
13.2.1 基本的なユーザインターフェイスフォームの作成
13.2.2 TreeViewのデータ設定
13.2.3 TreeViewのイベントの処理
13.2.4 [コピー]ボタンのイベントの実装
13.2.5 [削除]ボタンのイベントの処理
13.3 XMLドキュメントコメント
14章 ADO.NETを使ったデータアクセス
14.1 リレーショナルデータベースとSQL
14.1.1 テーブル、レコード、列
14.1.2 正規化
14.1.3 宣言参照整合性
14.1.4 SQL
14.2 ADO.NETのオブジェクトモデル
14.2.1 DataTableとDataColumn
14.2.2 Relations
14.2.3 Rowsコレクション
14.2.4 DataAdapter
14.2.5 DBCommandとDBConnection
14.2.6 DataAdapter
14.2.7 DataReader
14.3 ADO.NET
14.4 OLE DBマネージプロバイダの使用
14.5 データを連結したコントロールの使用
14.5.1 プログラムからのDataGridのデータ設定
14.5.2 DataSetのカスタマイズ
15章 ASP.NETおよびWebサービスプログラミング
15.1 Webフォームを理解する
15.1.1 Webフォームのイベント
15.1.2 Webフォームの有効期間
15.2 Webフォームの作成
15.2.1 分離コードファイル
15.3 コントロールの追加
15.3.1 サーバサイドコントロール
15.4 データの関連づけ
15.4.1 コードの詳細
15.4.2 コントロールとイベントの追加
15.5 Webサービス
15.6 SOAP、WSDLならびに探索ドキュメント
15.6.1 サーバ側の準備
15.6.2 クライアント側の準備
15.7 Webサービスの作成
15.7.1 Webサービスのテスト
15.7.2 WSDLドキュメントの表示
15.8 プロキシの作成
15.8.1 Webサービスのテスト
16章 機能連係したアプリケーションの開発
16.1 全体の概要
16.2 Webサービスクライアントの作成
16.3 データの表示
16.3.1 GridViewへのデータ設定
16.3.2 RowDataBoundイベントの処理
16.4 カテゴリ検索
III部 CLRと.NET Framework
17章 アセンブリとバージョン管理
17.1 PEファイル
17.2 メタデータ
17.3 セキュリティ境界
17.4 マニフェスト
17.5 マルチモジュールアセンブリ
17.5.1 マルチモジュールアセンブリのビルド
17.6 プライベートアセンブリ
17.7 共有アセンブリ
17.7.1 「DLL地獄」の終結
17.7.2 バージョン管理
17.7.3 厳密名
17.7.4 GAC
17.7.5 共有アセンブリのビルド
17.7.6 その他のアセンブリ要件
18章 属性とリフレクション
18.1 属性
18.1.1 属性
18.1.2 カスタム属性
18.2 リフレクション
18.2.1 メタデータの表示
18.2.2 型の探索
18.2.3 型のリフレクション
18.2.4 実行時バインディング
19章 マーシャリングとリモート処理
19.1 アプリケーションドメイン
19.1.1 アプリケーションドメインの作成と使用方法
19.1.2 アプリケーションドメイン境界を越えるオブジェクトの作成
19.2 コンテキスト
19.2.1 コンテキスト拘束オブジェクトとコンテキスト非拘束オブジェクト
19.2.2 コンテキスト境界を越えるオブジェクトの作成
19.3 リモート処理
19.3.1 サーバオブジェクトを理解する
19.3.2 インターフェイスを使用したサーバの機能作成
19.3.3 サーバの作成
19.3.4 クライアントの作成
19.3.5 SingleCallの使用
19.3.6 RegisterWellKnownServiceTypeを理解する
19.3.7 エンドポイントを理解する
20章 スレッドと同期処理
20.1 スレッド
20.1.1 スレッドの開始
20.1.2 スレッドの結合
20.1.3 Sleepを使ったスレッドのブロック処理
20.1.4 スレッドの停止
20.2 同期処理
20.2.1 Interlockedクラスの使用
20.2.2 ロックの使用
20.2.3 Monitorの使用
20.3 競合状態とデッドロック
20.3.1 競合状態
20.3.2 デッドロック
21章 ストリーム
21.1 ファイルとディレクトリ
21.1.1 Directoryの使用
21.1.2 DirectoryInfoオブジェクトの作成
21.1.3 Fileクラスの使用
21.1.4 ファイルの修正
21.2 データの読み取りと書き込み
21.2.1 バイナリファイル
21.2.2 BufferedStream
21.2.3 テキストファイルの操作
21.3 非同期I/O
21.4 ネットワークI/O
21.4.1 ネットワークストリームサーバの構築
21.4.2 ネットワークストリームクライアントの作成
21.4.3 複数コネクションの扱い
21.4.4 非同期ネットワークファイルストリーム
21.5 Webストリーム
21.6 シリアル化
21.6.1 フォーマッタの使用
21.6.2 シリアル化の使用
21.6.3 一時データの扱い
21.7 分離ストレージ
22章 .NETとCOMの連携
22.1 ActiveXコントロールのインポート
22.1.1 ActiveXコントロールの作成
22.1.2 ActiveXコントロールを.NETにインポートする
22.2 COMコンポーネントのインポート
22.2.1 COMテスト用フォームの実装
22.2.2 COMのDLLを.NETにインポートする
22.2.3 タイプライブラリのインポート
22.2.4 手動でのインポート
22.2.5 テストプログラムの実行
22.2.6 実行時バインディングおよびリフレクションの使用
22.3 .NETコンポーネントのエクスポート
22.3.1 タイプライブラリの作成
22.4 プラットフォーム呼び出し(P/Invoke)
22.5 ポインタ
付録 C#のキーワード
索引