[改訂新版]パーフェクトC#

[表紙][改訂新版]パーフェクトC#

紙版発売

B5変形判/800ページ/CD1枚

定価4,730円(本体4,300円+税10%)

ISBN 978-4-7741-3614-1

→学校・法人一括購入ご検討の皆様へ

書籍の概要

この本の概要

C#で.NET開発を行う人へのバイブル的1冊です。概要 基礎から実践までを幅広く学習でき,C#を扱ううえで知っておきたい知識は,この一冊に網羅されています。基本文法やWindowsアプリケーションはもちろん,最新のSilverlight2.0,WPF,WCFプログラミングの実践方法やADO.NET,ASP.NET 3.5,AJAXまで幅広いテーマをあつかっており,この一冊でC#の学習は完璧といえます。これからC#をはじめたい初心者にも,実践でC#を使ってる中級者にもお勧めできます。C#2.0/3.0,VisualStudio2005/2008対応。

こんな方におすすめ

  • C#,.NET関連技術を知りたい人

目次

Chapter1 .NET Fraework~overview

1.1 .NET Fraework概要

  • 1.1.1 .NET Fraeworkとは
  • 1.1.2 充実したクラスライブラリ
  • 1.1.3 言語の自由
  • 1.1.4 OS非依存
  • 1.1.5 自動メモリ管理
  • 1.1.6 容易な配布形態

1.2 共通言語ランタイム(CLR)

  • 1.2.1 共通言語ランタイム(CLR)とは
  • 1.2.2 マネージコードとアンマネージコード
  • 1.2.3 アセンブリ

1.3 .NET Frameworkクラスライブラリ

  • 1.3.1 統一感のあるライブラリ
  • 1.3.2 開発できるアプリケーション

1-4 .NET Frameworkの開発環境

  • 1.4.1 統合開発環境
  • 1.4.2 .NET Frameworkのバージョンと開発環境バージョン

1.5 Visual Studio 2008

  • 1.5.1 ソリューションとプロジェクト
  • 1.5.2 コンソールアプリケーションの作成 ~その1
  • 1.5.3 コンソールアプリケーションの作成 ~その2
  • 1.5.4 IDEの各ウィンドウ

1.6 アセンブリ

  • 1.6.1 アセンブリとは
  • 1.6.2 モジュール
  • 1.6.3 MSIL(Microsoft Intermediate Language)
  • 1.6.4 アセンブリの内容
  • 1.6.5 グローバルアセンブリキャッシュ(GAC)

Chapter2 C#言語仕様

2.1 プログラミング言語C#

  • 2.1.1 サンプルプログラム
  • 2.1.2 文の区切り
  • 2.1.3 Consoleオブジェクト
  • 2.1.4 変数とデータの型
  • 2.1.5 コメント
  • 2.1.6 メタ書式

2.2 共通型システム(CTS)

  • 2.2.1 共通型システム(CTS)とは
  • 2.2.2 値型と参照型
  • 2.2.3 データ型のクラス構成
  • 2.2.4 型変換
  • 2.2.5 値型データのボックス化
  • 2.2.6 データ変換
  • 2.2.7 型クラス(Type)
  • 2.2.8 値型クラス(ValueType)

2.3 基本データ型

  • 2.3.1 基本データ型とは
  • 2.3.2 整数型
  • 2.3.3 浮動小数点数型
  • 2.3.4 10進数型
  • 2.3.5 論理型
  • 2.3.6 文字型
  • 2.3.7 文字列型
  • 2.3.8 オブジェクト型(object型)

2.4 変数と配列

  • 2.4.1 識別子
  • 2.4.2 ローカル変数
  • 2.4.3 ローカル定数
  • 2.4.4 配列

2.5 演算子

  • 2.5.1 C#の演算子
  • 2.5.2 演算子の優先順位と連結規則

2.6 制御文

  • 2.6.1 プログラムの構成要素
  • 2.6.2 制御文
  • 2.6.3 if文
  • 2.6.4 switch文
  • 2.6.5 while文
  • 2.6.6 do文
  • 2.6.7 for文
  • 2.6.8 foreach文
  • 2.6.9 goto文
  • 2.6.10 break文
  • 2.6.11 continue文
  • 2.6.12 return文

2.7 型とメンバ

  • 2.7.1 名前空間
  • 2.7.2 usingディレクティブ
  • 2.7.3 グローバル名前空間修飾子(global)
  • 2.7.4 型
  • 2.7.5 パーシャルタイプ
  • 2.7.6 型とメンバ
  • 2.7.7 型とメンバの修飾子
  • 2.7.8 アクセス修飾子
  • 2.7.9 static修飾子
  • 2.7.10 メンバアクセス
  • 2.7.11 extern修飾子
  • 2.7.12 関数メンバとパラメータ
  • 2.7.13 関数メンバのオーバーロード

2.8 クラス

  • 2.8.1 クラスとは
  • 2.8.2 new演算子
  • 2.8.3 フィールド
  • 2.8.4 定数
  • 2.8.5 コンストラクタ
  • 2.8.6 プライベートコンストラクタ
  • 2.8.7 静的コンストラクタ
  • 2.8.8 デストラクタ
  • 2.8.9 メソッド
  • 2.8.10 拡張メソッド
  • 2.8.11 プロパティ
  • 2.8.12 演算子
  • 2.8.13 インデクサ
  • 2.8.14 イベント
  • 2.8.15 継承とポリモフィズム

2.9 構造体

  • 2.9.1 構造体とは

2.10 インターフェース

  • 2.10.1 インターフェースとは

2.11 列挙型

  • 2.11.1 列挙型とは

2.12 デリゲート

  • 2.12.1 デリゲートとは
  • 2.12.2 デリゲートの利用イメージ
  • 2.12.3 デリゲートの内部イメージ
  • 2.12.4 匿名メソッド
  • 2.12.5 ラムダ式

2.13 属性

  • 2.13.1 属性とは
  • 2.13.2 属性の内部イメージ
  • 2.13.3 定義済みの属性
  • 2.13.4 カスタム属性

2.14 例外処理

  • 2.14.1 try-catch-finallyブロックとthrowステートメント
  • 2.14.2 Exceptionクラス
  • 2.14.3 例外処理のプログラミング
  • 2.14.4 ApplicationExceptionクラス
  • 2.14.5 InnerExceptionプロパティ
  • 2.14.6 StackTraceプロパティ

2.15 アンセーフコード

  • 2.15.1 アンセーフコードとは
  • 2.15.2 ポインタ
  • 2.15.3 fixed(メンバのアドレス固定)
  • 2.15.4 stackalloc(アンセーフコードの配列)

2.16 ジェネリック

  • 2.16.1 ジェネリックとは
  • 2.16.2 タイプパラメータ
  • 2.16.3 Nullable
  • 2.16.4 ArrayListクラスとList

2.17 イテレータ

  • 2.17.1 イテレータとは
  • 2.17.2 yield return文
  • 2.17.3 yield break文

2.18 LINQ

  • 2.18.1 LINQとは
  • 2.18.2 クエリ式
  • 2.18.3 LINQ to SQL
  • 2.18.4 LINQ to DataSet
  • 2.18.5 LINQ to Objects
  • 2.18.6 LINQ to XML

2.19 プリプロセッサ ディレクティブ

  • 2.19.1 プリプロセッサ ディレクティブとは
  • 2.19.2 条件付きコンパイル
  • 2.19.3 ソースコードの領域分け
  • 2.19.4 エラー・警告状態の表示

Chapter3 Windowsフォーム

3.1 Windowsフォームアプリケーションの基礎

  • 3.1.1 Windowsフォームアプリケーション
  • 3.1.2 Windowsフォーム(System.Window.Forms.Form)
  • 3.1.3 Windowsフォームアプリケーションの作成
  • 3.1.4 UIオブジェクト(コントロール)
  • 3.1.5 イベント処理
  • 3.1.6 Hello World!!
  • 3.1.7 フォームの表示 ~モーダルとモードレス
  • 3.1.8 モーダルダイアログによるユーザ入力
  • 3.1.9 メッセージボックスの表示

3.2 Windowsフォームコントロール

  • 3.2.1 コントロール共通の概念
  • 3.2.2 ラベル(System.Windows.Forms.Label)
  • 3.2.3 リンクラベル(System.Windows.Forms.LinkLabel)
  • 3.2.4 グループボックス(System.Windows.Forms.GroupBox)
  • 3.2.5 ピクチャボックス(System.Windows.Forms.PictureBox)
  • 3.2.6 テキストボックス(System.Windows.Forms.TextBox)
  • 3.2.7 リッチテキストボックス(System.Windows.Forms.RichTextBox)
  • 3.2.8 ボタン(System.Windows.Forms.Button)
  • 3.2.9 チェックボックス(System.Windows.Forms.CheckBox)
  • 3.2.10 ラジオボタン(System.Windows.Forms.RadioButton)
  • 3.2.11 リストボックス(System.Windows.Forms.ListBox)
  • 3.2.12 チェックリストボックス(System.Windows.Forms.CheckedListBox)
  • 3.2.13 コンボボックス(System.Windows.Forms.ComboBox)
  • 3.2.14 タブコントロール(System.Windows.Forms.TabControl)
  • 3.2.15 リストビュー(System.Windows.Forms.ListView)
  • 3.2.16 日時指定コントロール(System.Windows.Forms.DateTimePicker)
  • 3.2.17 月間予定コントロール(System.Windows.Forms.MonthCalendar)
  • 3.2.18 ドメインアップダウンコントロール(System.Windows.Forms.DomainUpDown)
  • 3.2.19 数値アップダウンコントロール(System.Windows.Forms.NumericUpDown)

3.3 メニュー/ツールバー/ステータスバー

  • 3.3.1 「メニュー/ツールバー/ステータスバー」概要
  • 3.3.2 オブジェクトモデル
  • 3.3.3 メニュー
  • 3.3.4 ツールバー
  • 3.3.5 ステータスバー
  • 3.3.6 ToolStripContainerクラスによる移動可能なToolStrip
  • 3.4 マウスとキーボード

  • 3.4.1 マウスイベント
  • 3.4.2 マウスの基本イベント
  • 3.4.3 ダブルクリック
  • 3.4.4 マウスホイール
  • 3.4.5 その他のマウスイベント
  • 3.4.6 マウスカーソル
  • 3.4.7 キーボード
  • 3.4.8 KeyDownとKeyUp
  • 3.4.9 KeyPress
  • Chapter4 WPF

    4.1 WPFとは

  • 4.1.1 .NET FrameworkとWPF
  • 4.1.2 開発環境
  • 4.1.3 アプリケーション形態
  • 4.1.4 WPFの特徴
  • 4.2 XAMLの文法

  • 4.2.1 HelloWorld
  • 4.2.2 基本名前空間
  • 4.2.3 XAMLとコードビハインド
  • 4.2.4 プロパティ構文
  • 4.2.5 イベント構文
  • 4.2.6 マークアップ拡張
  • 4.2.7 カスタム名前空間の割り当て
  • 4.3 WPFアプリケーション

  • 4.3.1 エントリポイントとApplicationクラス
  • 4.3.2 ウィンドウ(System.Windows.Window)
  • 4.3.3 ダイアログボックス
  • 4.3.4 依存関係プロパティ(Dependency Property)
  • 4.3.5 添付プロパティ(Atatched Property)
  • 4.4 コントロール

  • 4.4.1 コンテンツモデル
  • 4.4.2 コンテンツモデルによる分類
  • 4.4.3 ビルドインコントロール
  • 4.4.4 スタイル
  • 4.4.5 コントロールテンプレート
  • 4.5 レイアウトシステム

  • 4.5.1 レイアウト概要
  • 4.5.2 パネル(Panel)
  • 4.5.3 WPFのレイアウト プロセス
  • 4.5.4 コントロールと余白/パディング
  • 4.5.5 コントロールの配置位置(アライメント)
  • 4.6 イベント

  • 4.6.1 コントロールのイベント
  • 4.6.2 ルーティングイベント
  • 4.6.3 イベントルーティングの終了
  • 4.7 リソース

  • 4.7.1 リソースとは
  • 4.7.2 リソースの定義
  • 4.7.3 静的リソース参照と動的リソース参照
  • 4.7.4 コードによるリソースへのアクセス
  • 4.7.5 階層間での同一キーリソース定義
  • 4.7.6 外部リソースのマージ
  • 4.8 データバインディング

  • 4.8.1 WPFのデータバインディング
  • 4.8.2 バインディングソースとバインディングターゲット
  • 4.8.3 シンプルなデータバインディング
  • 4.8.4 コードによるデータバインディング
  • 4.8.5 CLRオブジェクトとのデータバインディング
  • 4.8.6 DataContextプロパティ
  • 4.8.7 バインディングソースの型変換
  • 4.8.8 コレクションへのバインディング
  • 4.8.9 バインディングソースの編集
  • 4.8.10 入力検証機能
  • 4.8.11 DataTriggerによるデータの加工
  • Chapter5 Silverlight

    5.1 Silverlightとは

  • 5.1.1 Silverlightの特徴
  • 5.1.2 Silverlightのバージョン
  • 5.1.3 Silverlightのインストール
  • 5.1.4 Silverlightプラグイン
  • 5.1.5 Silverlightのコントロール
  • 5.2 Silverlightアプリケーションの開発ツール

  • 5.2.1 Silverlightアプリケーションの開発ツールとは
  • 5.2.2 Silverlightプロジェクト(Visual Studio 2008)
  • 5.2.3 Silverlightプロジェクト(Expression Blend 2.5)
  • Chapter6 ASP.NET 3.5

    6.1 ASP.NETとは

  • 6.1.1 Webアプリケーション
  • 6.1.2 ASP.NETの機能
  • 6.1.3 Visual Studio 2008
  • 6.1.4 ASP.NET開発サーバ
  • 6.2 アプリケーションモデル

  • 6.2.1 Webフォーム(ページ)
  • 6.2.2 HelloWorld ~コードビハインドモデル版
  • 6.2.3 HelloWorld ~インラインコーディングモデル版
  • 6.2.4 サーバコントロール
  • 6.2.5 System.Web.UI.Pageクラス
  • 6.2.6 @ Pageディレクティブ
  • 6.2.7 ページのライフサイクル
  • 6.2.8 ページ要素の構成
  • 6.2.9 特殊フォルダ
  • 6.3 画面遷移

  • 6.3.1 Webにおける画面遷移
  • 6.3.2 HTMLアンカー
  • 6.3.3 Redirect
  • 6.3.4 Transfer
  • 6.3.5 クロスページポストバック
  • 6.3.6 選択すべき方式
  • 6.3.7 画面遷移の厳密性
  • 6.3.8 2重送信
  • 6.4 状態管理

  • 6.4.1 ASP.NETの状態管理
  • 6.4.2 セッション(Session)
  • 6.4.3 アプリケーション状態(Application State)
  • 6.4.4 ViewState
  • 6.4.5 HiddenFieldコントロール
  • 6.5 サーバコントロール

  • 6.5.1 サーバコントロールとは
  • 6.5.2 HTMLサーバコントロール
  • 6.5.3 Webサーバコントロール
  • 6.5.4 UIコントロールと非UIコントロール
  • 6.5.5 サーバコントロールのクラス階層
  • 6.5.6 サーバコントロールとXHTML
  • 6.5.7 System.Web.UI.Controlクラス
  • 6.5.8 テキストボックスコントロール
  • 6.5.9 ラベルコントロール
  • 6.5.10 ボタンコントロール
  • 6.5.11 チェックボックスとラジオボタン
  • 6.5.12 イメージコントロール
  • 6.5.13 リンクコントロール
  • 6.5.14 リストコントロール
  • 6.5.15 コントロールコンテナ
  • 6.5.16 ファイルアップロードコントロール
  • 6.5.17 検証コントロール
  • 6.6 データバインディング ~基本

  • 6.6.1 データバインディングのメリット
  • 6.6.2 単純なデータバインド
  • 6.6.3 DataSourceプロパティによるデータバインド
  • 6.6.4 データソースコントロールによるデータバインド
  • 6.6.5 データバインドコントロール
  • 6.6.6 データバインドコントロール ~リストコントロール
  • 6.6.7 データバインドコントロール ~Repeaterコントロール
  • 6.6.8 データバインドコントロール ~DataListコントロール
  • 6.7 データバインディング ~データソースコントロール

  • 6.7.1 データソースコントロール
  • 6.7.2 SqlDataSourceコントロール
  • 6.7.3 AccessDataSourceコントロール
  • 6.7.4 ObjectDataSourceコントロール
  • 6.7.5 LinqDataSourceコントロール
  • 6.7.6 SitemapDataSourceコントロール
  • 6.7.7 XmlDataSourceコントロール
  • 6.8 複合データバインドコントロール

  • 6.8.1 GridViewコントロール
  • 6.8.2 DetailsViewコントロール
  • 6.8.3 FormViewコントロール
  • 6.8.4 ListViewコントロール
  • Chapter7 ASP.NET AJAX

    7.1 Ajax(Asynchrinous JavaScript + XML)

  • 7.1.1 Ajaxとは
  • 7.1.2 XmlHttpRequest
  • 7.1.3 JavaScript
  • 7.1.4 DOM
  • 7.1.5 XML
  • 7.2 ASP.NET AJAX ~overview

  • 7.2.1 Ajax開発の現状
  • 7.2.2 ASP.NET AJAXの構成
  • 7.2.3 ASP.NET AJAX Control Toolkit
  • 7.3 ScriptManagerコントロール

  • 7.3.1 ScriptManagerコントロールとは
  • 7.3.2 ユーザ定義JavaScriptの参照
  • 7.3.3 ScriptMangerとScriptMangerProxy
  • 7.4 UpdatePanel(パーシャル ページ レンダリング)

  • 7.4.1 パーシャル ページ レンダリングとUpdatePanelコントロール
  • 7.4.2 UpdateModeプロパティ
  • 7.4.3 ChildrenAsTriggersプロパティ
  • 7.4.4 Triggersプロパティ
  • 7.4.5 PageRequestManager
  • 7.4.6 非同期ポストバックのエラー処理
  • 7.5 UpdateProgress(更新進行状況表示)

  • 7.5.1 UpdateProgressの使用
  • 7.5.2 特定のUpdatePanelに対するプログレス表示
  • 7.5.3 プログレス表示までの時間の調整
  • 7.5.4 UpdateProgressと非同期ポストバックのキャンセル
  • 7.6 Webサービス呼び出し

  • 7.6.1 JavaScriptによるWebサービス呼び出し
  • 7.6.2 シンプルなWebサービス呼び出し
  • 7.6.3 複雑な型を受け渡すWebサービス呼び出し
  • 7.6.4 ページメソッドの呼び出し
  • 7.7 オブジェクト指向プログラム機能

  • 7.7.1 ASP.NET AJAXとJavaScript
  • 7.7.2 標準仕様のJavaScript
  • 7.7.3 最上位の型
  • 7.7.4 名前空間とクラス
  • 7.7.5 クラスの継承
  • 7.7.6 インターフェース
  • Chapter8 ADO.NET

    8.1 ADO.NET ~overview

  • 8.1.1 クラス構造の基本
  • 8.1.2 プロバイダファクトリ
  • 8.1.3 DbProviderFactoriesとmachine.config
  • 8.2 データの抽出と更新

  • 8.2.1 DataReaderによるデータの読み取り
  • 8.2.2 データセットによるデータ抽出
  • 8.2.3 スカラー値の取得
  • 8.2.4 パラメータの使用
  • 8.2.5 コマンドによるデータ挿入/更新/削除
  • 8.2.6 DataSetによるデータ挿入/更新/削除
  • 8.3 テーブルアダプタ機能

  • 8.3.1 テーブルアダプタ機能とは
  • 8.3.2 テーブルアダプタの作成
  • 8.3.3 テーブルアダプタの使用
  • 8.3.4 テーブルアダプタへのクエリの追加
  • 8.3.5 テーブルアダプタへの非ウィザード処理の追加
  • 8.4 トランザクション

  • 8.4.1 トランザクション機能とは
  • 8.4.2 マニュアルトランザクション
  • 8.4.3 自動トランザクション
  • 8.4.4 自動トランザクションとテーブルアダプタ
  • Chapter9 WCF

    9.1 WCF概要

  • 9.1.1 WCFとは
  • 9.1.2 アプリケーション間通信
  • 9.1.3 構成ファイル
  • 9.1.4 サービスコントラクト
  • 9.1.5 データコントラクト
  • 9.2 WCFプログラミング

  • 9.2.1 WCFサービスのIISホスティング
  • 9.2.2 WCFサービスのセルフホスティング
  • 9.2.3 WCFシステムのプロジェクトモデル
  • 著者プロフィール

    醍醐竜一(だいごりゅういち)

    現在,フリーのソフトウェアエンジニアとして活動中。ソフトウェアベンダでActiveX・COMの開発,.NETによるシステム開発といったマイクロソフトテクノロジーの技術経験を経てフリーとなる。.NETは1.0βから調査・開発を開始し,現在も最新の.NET技術を利用した開発や執筆活動を中心として行っている。


    斎藤友男(さいとうともお)

    1986年,株式会社Knowlbo入社。コンパイラの開発からスプレッドシート,ビジュアルプログラミングツールなど,数々の言語処理系ソフトウェアを開発。1994年に代表取締役に就任。多くのCOMコンポーネント製品をリリース。.NETにも逸早く注目し,早くから.NETベースのオフィス系情報共有製品を次々にリリース。その中の「ワークフローEX」は,2007年「Microsoft Innovation Award」のコマーシャル部門で優秀賞を受賞。