プログラミングC# 第4版

この商品は品切れ再入荷未定です

内容

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#のキーワード

索引

正誤表

関連ファイル