初めてのC# 第2版

[cover photo]
  • 2006年08月 発行
  • 376ページ
  • ISBN4-87311-294-X
  • フォーマット Print PDF
  • 原書: Learning C# 2005, Second Edition

オライリー・ジャパンで書籍を購入:
定価3,024円

Ebook Storeで電子版を購入:
価格2,419円

プログラミング言語としてのC#を基本から学べる入門書。WindowsアプリケーションやWebアプリケーションの作り方を単に紹介するのではなく、C#を使ってプログラミングの基礎を丁寧に解説します。デバッグや例外、ジェネリック、デリゲートなどについては章を立てて平易な表現で丁寧に解説しているのでプログラミングが未経験という読者にも好適です。各章末に用意した練習問題を使って理解度をチェックしながら学習できます。C# 2.0およびVisual Studio 2005(Visual C# 2005 Express Edition)対応。

関連書籍

まえがき

1章 C#と.NETプログラミング
	1.1 C#2005と.NET 2.0
	1.2 .NETプラットフォーム
	1.3 .NET Framework 2.0
	1.4 プログラミング言語C#
	1.5 C#アプリケーションの構造
	1.6 開発環境
	1.7 最初のプログラム:Hello World
	1.8 コンパイラ
	1.9 最初のプログラムの内容
	1.10 まとめ
	1.11 練習問題

2章 Visual Studio 2005
	2.1 プロジェクトとソリューション
	2.1.1 作成可能なプロジェクト
		2.1.2 テンプレート
	2.2 IDEの内部
	2.3 ビルドと実行
	2.4 メニューとツールバー
	2.5 その他の機能
		2.5.1 ブックマーク
		2.5.2 IntelliSense
	2.6 まとめ
	2.7 練習問題

3章 C#言語の基礎
	3.1 ステートメント
	3.2 型
		3.2.1 数値型
		3.2.2 非数の型:charとbool
		3.2.3 型とコンパイルエラー
	3.3 変数
	3.4 明示的な代入
	3.5 定数
		3.5.1 リテラル定数
		3.5.2 シンボリック定数
		3.5.3 列挙型
	3.6 文字列
	3.7 式
	3.8 ホワイトスペース
	3.9 まとめ
	3.10 練習問題

4章 演算子
	4.1 代入演算子(=)
	4.2 算術演算子
		4.2.1 単純な算術演算子(+、−、*、/)
		4.2.2 モジュロ演算子(%)
	4.3 インクリメントとデクリメント演算子
		4.3.1 計算と再代入演算子
		4.3.2 インクリメントとデクリメント演算子
		4.3.3 プリフィックスとポストフィックス演算子
	4.4 関係演算子
		4.4.1 条件と論理演算子の使い方
		4.4.2 条件演算子
		4.4.3 演算子の優先順位
	4.5 まとめ
	4.6 練習問題

5章 実行制御
	5.1 無条件分岐ステートメント
	5.2 条件付き分岐ステートメント
		5.2.1 ifステートメント
		5.2.2 シングルステートメントifブロック
		5.2.3 短絡評価
		5.2.4 if...elseステートメント
		5.2.5 ネストしたifステートメント
		5.2.6 switchステートメント
		5.2.7 caseの通過とジャンプ
		5.2.8 switchとstring
	5.3 繰り返しステートメント(ループ)
		5.3.1 gotoを使ったループ
		5.3.2 whileループ
		5.3.3 do...whileループ
		5.3.4 forループ
	5.4 まとめ
	5.5 練習問題

6章 オブジェクト指向プログラミング
	6.1 モデルの作成
	6.2 クラスとオブジェクト
	6.3 クラスの定義
	6.4 クラスの関連性
	6.5 オブジェクト指向プログラミングの3つの柱
		6.5.1 カプセル化
		6.5.2 特化
		6.5.3 ポリモーフィズム
	6.6 オブジェクト指向解析と設計
	6.7 まとめ
	6.8 練習問題

7章 クラスとオブジェクト
	7.1 クラスの定義
		7.1.1 オブジェクトのインスタンス作成
		7.1.2 Timeクラスの作成
		7.1.3 アクセス修飾子
	7.2 メソッドの引数
	7.3 コンストラクタ
	7.4 初期化子
	7.5 キーワードthis
	7.6 staticメンバとインスタンスメンバ
		7.6.1 staticメソッドの実行
		7.6.2 staticフィールドの使い方
	7.7 オブジェクトの破棄
	7.8 メモリ割り当て:スタックとヒープ
	7.9 まとめ
	7.10 練習問題

8章 メソッド
	8.1 メソッドのオーバーロード
	8.2 プロパティへのデータのカプセル化
		8.2.1 getアクセサ
		8.2.2 setアクセサ
	8.3 複数の値を返すメソッド
		8.3.1 参照による値型の渡し方
		8.3.2 出力引数と限定代入
	8.4 まとめ
	8.5 練習問題

9章 デバッグ
	9.1 ブレークポイントの設定
		9.1.1 デバッグメニューを使ったブレークポイントの設定
		9.1.2 条件とヒットカウントの設定
	9.2 値の評価:自動変数とローカル変数ウィンドウ
	9.3 ウォッチの設定
	9.4 コールスタック
	9.5 まとめ
	9.6 練習問題

10章 配列
	10.1 配列の使い方
		10.1.1 配列の宣言
		10.1.2 デフォルト値
		10.1.3 配列要素へのアクセス
	10.2 foreachステートメント
	10.3 配列要素の初期化
	10.4 キーワードparams
	10.5 多次元配列
		10.5.1 長方形配列
		10.5.2 ジャグ配列
	10.6 配列のメソッド
	10.7 配列要素のソート
	10.8 まとめ
	10.9 練習問題

11章 継承とポリモーフィズム
	11.1 特化と汎化
	11.2 継承
		11.2.1 継承の実装
		11.2.2 ベースクラスのコンストラクタの呼び出し
		11.2.3 アクセス制御
	11.3 ポリモーフィズム
		11.3.1 ポリモーフィズム型の作成
		11.3.2 newを使ったバージョンの作成とオーバーライド
	11.4 抽象クラス
	11.5 シールクラス
	11.6 すべてのクラスのルートクラス(Object)
	11.7 ボクシングとアンボクシング
		11.7.1 暗黙のボクシング
		11.7.2 明示的アンボクシング
		11.7.3 ジェネリックによるボクシングの回避
	11.8 まとめ
	11.9 練習問題

12章 演算子のオーバーロード
	12.1 キーワードoperatorの使い方
	12.2 役立つ演算子の定義
	12.3 Equals演算子
	12.4 変換演算子
	12.5 まとめ
	12.6 練習問題

13章 インタフェース
	13.1 インタフェースの実装
		13.1.1 インタフェースの定義
		13.1.2 クライアント上のインタフェースの実装
	13.2 複数のインタフェースの実装
	13.3 インタフェースへのキャスト
	13.4 演算子isとas
	13.5 インタフェースの拡張
	13.6 インタフェースの結合
	13.7 インタフェースの実装のオーバーライド
	13.8 明示的なインタフェース実装
	13.9 まとめ
	13.10 練習問題

14章 ジェネリックとコレクション
	14.1 ジェネリック
	14.2 コレクションインタフェース
	14.3 独自のコレクションの作成
		14.3.1 インデクサと代入
		14.3.2 ほかの値のインデックス
		14.3.3 ジェネリックコレクションインタフェース
		14.3.4 IEnumerableインタフェース
	14.4 .NET Frameworkのジェネリックコレクション
		14.4.1 ジェネリックリスト:List
		14.4.2 ジェネリックキュー
		14.4.3 ジェネリックスタック
		14.4.4 Dictionary
	14.5 まとめ
	14.6 練習問題

15章 文字列
	15.1 文字列の作成
		15.1.1 文字列リテラル
		15.1.2 エスケープキャラクタ
		15.1.3 @リテラル文字列
		15.1.4 ToString()
	15.2 文字列の操作
		15.2.1 文字列の比較
		15.2.2 文字列の連結
		15.2.3 文字列のコピー
		15.2.4 等価比較
		15.2.5 その他のStringクラスの役立つメソッド
		15.2.6 部分文字列の検索
		15.2.7 文字列の分割
		15.2.8 StringBuilderクラス
	15.3 正規表現
	15.4 Regexクラス
	15.5 まとめ
	15.6 練習問題

16章 例外
	16.1 バグ、エラー、例外
	16.2 例外のスロー
	16.3 例外ハンドラの検索
	16.4 throwステートメント
	16.5 tryとcatchステートメント
	16.6 コールスタックの機能
	16.7 専用のcatchステートメントの作成
	16.8 finallyステートメント
	16.9 例外クラスのメソッドとプロパティ
	16.10 カスタム例外
	16.11 まとめ
	16.12 練習問題

17章 デリゲートとイベント
	17.1 デリゲート
		17.1.1 実行時にメソッドを指定するためのデリゲートの使い方
	17.2 マルチキャスト
	17.3 イベント
		17.3.1 パブリッシュとサブスクライブ
		17.3.2 イベントとデリゲート
		17.3.3 イベントに関するデリゲート問題の解決
		17.3.4 キーワードevent
	17.4 匿名メソッドの使い方
	17.5 まとめ
	17.6 練習問題

索引


■コラム
	WriteLine()
	名付け規約
	キャスト
	WriteLine()の制御文字
	中括弧のスタイル
	スパゲティコード
	比喩(メタファー)
	フィボナッチ数列
	本書のサンプルについて
	クラスとオブジェクト
	構造体
	抽象の背後の考え方
	等価の意味
	インタフェースと抽象ベースクラス
	属性

ここで紹介する正誤表には、書籍発行後に気づいた誤植や更新された情報を掲載しています。以下のリストに記載の年月は、正誤表を作成し、増刷書籍を印刷した月です。お手持ちの書籍では、すでに修正が施されている場合がありますので、書籍最終ページの奥付でお手持ちの書籍の刷版、刷り年月日をご確認の上、ご利用ください。

■P.209 下から6行め
  • 【誤】Fractionからintへの明示的なキャストが必要であるすることを表す、
  • 【正】Fractionからintへの明示的なキャストが必要であることを表す、
■P.221 上から18行め
  • 【誤】ICompressibleには、Compress()とUncompress()の2個のメソッドがあります。
  • 【正】ICompressibleには、Compress()とDecompress()の2個のメソッドがあります。
■P.252 下から1行め
  • 【誤】エラーから回復するできるようにすることを考えてください。
  • 【正】エラーから回復できるようにすることを考えてください。
■P.302 上から17行め
  • 【誤】System.Exceptionから派生したものするように推奨しています。
  • 【正】System.Exceptionから派生したものにするよう推奨しています。

Feedback

皆さんのご意見をお聞かせください。ご購入いただいた書籍やオライリー・ジャパンへのご感想やご意見、ご提案などをお聞かせください。より良い書籍づくりやサービス改良のための参考にさせていただきます。
[feedbackページへ]