[速攻入門]C#プログラミング すぐに現場で使える知識
2012年3月9日紙版発売
中博俊,猪股健太郎,岩永信之,山本康彦 著
A5判/344ページ
定価2,948円(本体2,680円+税10%)
ISBN 978-4-7741-5016-1
書籍の概要
この本の概要
C#の需要が高まっている現在,プログラミング現場では,C#のことを知らないプログラマーであっても,これを使う必要に迫られています。いま最もC#の知識を必要としているのは,こういった「現場のプログラマー」です。ところが,これまでの入門書は,本当に初心者向けのものか,C#の経験者向けのものだけでした。現場のプログラマーには,C#の言語仕様をコンパクトに説明し,それは実践の場でどのように使えるものなのか? どう使うとメリットがあるのか? という点を解き明かす本こそが必要です。本書が,そのニーズに応えます。
こんな方におすすめ
- 学校などでJavaやC++を学んだことがある,現場のプログラマー
- プログラマーとしては初中級レベルで,C#を学ぼうとする人
目次
Part 1 C#の文法 速攻入門
Chapter 1 C#とは?
- 1.1 C#の特徴
- 1.2 .NET Framework
- CLI規格
- .NET Framework上のアプリケーション開発フレームワーク
- .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 変数の宣言
- ローカル変数の確実な初期化
- var(暗黙的な型指定)
- dynamic(動的型付け)
- ローカル定数
- 3.4 演算子
- #NAME?
- 論理演算
- 右シフト
- オペランドの評価順序
- 3.5 制御構文
- switchステートメント
- gotoステートメント
- foreachステートメント
- 3.6 オーバーフローのチェック
- 3.7 例外処理
- 3.8 usingステートメント
- 3.9 型情報
- 3.10 既定値
- 3.11 lockステートメント
- 3.12 ラムダ式
- 3.13 クエリ式
- クエリ式を構成する句
Chapter 4 型
- 4.1 値型と参照型の違い
- 4.2 組み込み型
- object型
- 単純型
- 文字列型
- 4.3 ジェネリック
Chapter 5 クラス
- 5.1 クラスの定義
- 修飾子
- 型パラメーター
- 基底型
- クラス本体
- 5.2 アクセシビリティ
- 名前空間直下の型に対するアクセス修飾子
- メンバーに対するアクセス修飾子
- 5.3 クラスのメンバー
- フィールド
- 定数
- コンストラクター
- メソッド
- 反復子構文
- 拡張メソッド
- 非同期メソッド
- プロパティ
- インデクサー
- イベント
- 演算子のオーバーロード
- デストラクター
- 5.4 静的メンバー
- 静的コンストラクター
- 5.5 継承
- 多重継承の有無
- virtual修飾子
- override修飾子
- sealed修飾子
- new修飾子
- 抽象メンバー
- フィールド初期化子とコンストラクターの実行順序
- 5.6 クラスの分割定義
- 部分メソッド
- 5.7 外部メソッド
- 5.8 匿名クラス
Chapter 6 インターフェイス
- 6.1 インターフェイスの定義
- インターフェイスとクラスの相違点
- 6.2 インターフェイスの実装
- インターフェイスの明示的実装
Chapter 7 構造体
- 7.1 構造体の定義
- 構造体とクラスの相違点
- 値型による振る舞い
- 既定値
- コンストラクター/デストラクターの制限
- 継承
- ボックス化
- 7.2 クラスあるいは構造体の選択
- 参照型を必要とするポリモーフィズム
- ヒープの性能の良さ
Chapter 8 列挙型
- 8.1 列挙型の定義
- 基になる型
- 列挙型本体
- 8.2 列挙型の利用
- Enum型
- 型変換
- 演算子
- 8.3 ビットフラグ
- 8.4 拡張メソッドの利用
Chapter 9 デリゲート
- 9.1 デリゲートの定義
- ActionとFunc
- System.Delegate型
- 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 「安全でないコード」の注意点
- unsafe ≠ C言語
- unsafe ⊂ managed
- 扱える範囲 ≒ マネージヒープ
- 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 実装方式の比較
- コード展開
- 型消去
- C#のジェネリック
- 1.4 メンバー参照
- 1.5 強い型付け
- リフレクションでジェネリックを扱う
Chapter 2 定数と読み取り専用
- 2.1 バージョニング問題
- 2.2 フィールドの再代入禁止とオブジェクトの不変性
- 2.3 引数の既定値
Chapter 3 例外処理
- 3.1 例外の利用場面
- 利用法上の例外
- 不可避,かつ復帰可能な例外
- 対処不能な例外
- 3.2 try-catchとtry-finally
- tryステートメントの利用頻度
- try-catch-finallyステートメント
Chapter 4 リソース管理
- 4.1 ガベージコレクション
- ガベージコレクションの性能向上
- 弱参照
- 4.2 デストラクター
- リソースの解放
- IDisposableインターフェイスの実装例
Chapter 5 イベント駆動
- 5.1 イベント構文
- イベント駆動の定型パターン
- イベントハンドラーとしてのデリゲート
- 自動実装イベントの内部挙動
- 5.2 イベントとメモリリーク
Chapter 6 暗黙的な型指定
- 6.1 冗長性の排除
- 6.2 オーバーロードとジェネリック
- 6.3 varと匿名型
Chapter 7 データ処理
- 7.1 反復子構文
- 反復子ブロック
- 反復子構文の内部実装
- 7.2 反復子構文を使ったデータの加工
- 7.3 LINQ
- クエリ式
- 標準クエリ演算子
- LINQプロバイダー
- LINQ to Objects
- LINQ to XML
- LINQ to Entities
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と非同期処理
- ディスパッチャー
- BackgroundWorker
- 2.3 視覚的デザインツールの利用
- ツール生成コードの分離
- ツールが解釈しやすい形式
- 2.4 ビューの分離
Chapter 3 Webアクセス
- 3.1 Webページの表示
- Frameの利用例
- 3.2 Webアクセスのためのクラス
- 同期アクセス
- 非同期アクセス
- 3.3 Webサービスの利用
- Visual Studioを使ったサービス参照
- 配信フィードの取得
- XMLやJSONの取得
- 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 動的に生成したコードのキャッシュ
- 動的コード生成/キャッシュの例
- XMLを読み書きするコードの動的生成/キャッシュ
この本に関連する書籍
-
実戦で役立つ C#プログラミングのイディオム/定石&パターン
C#のプログラムを作成するには,解こうとする問題の手順と利用するデータ構造を考え,それをC#のコードとして記述するスキルが必要になってきますが,そういったスキル...
-
C#プログラマーのための デバッグの基本&応用テクニック
完璧なプログラムなどありません。思わぬ不具合が現れたりもします。プログラミングはバグとの戦いでもあります。ましてビジネスであれば可能な限りバグを潰すことが絶...
-
C#プログラマーのための 基礎からわかるLINQマジック!
現在では“技術に保守的な現場”においてさえ顧客事情が変わっています。.NETの環境でも核心的な技術=LINQがようやく使えるようになりました。LINQは,実際に使ってみる...
-
C#エンジニア養成読本
2014年11月にVisual Studioの全機能を備えた無償版「Visual Studio Community」が提供され始めました。個人や教育機関,中小企業などの制限はありますが,さらにC#を学...
-
C# 6 実践的プログラミング[入門]講座
最新版C#6の解説書です。特に従来のC#で開発されてきたプログラムに焦点を当てます。ここで問題になるのは,開発済みのプログラム資産を無駄にしないこと。例として現実...
-
【省エネ対応】C# プログラムの効率的な書き方
C#が提供するLINQ to Objectsは,多大な効能と価値を併せ持つ重要な考え方ですが,Cのポインタ同様に抽象的でわかりりにくいものです。実際の使い方が初期と現在とでは...
-
[完全版]C# 実践ダイナミックプログラミング
C# 4.0で特徴的なことのひとつに「ダイナミックな(動的な)」プログラミングが可能ということが挙げられます。本書は,処理系のバージョンアップにより選択可能となっ...
-
[完全版]究極のC#プログラミング ――新スタイルによる実践的コーディング
C#は現在ではよく使われている言語であり処理系ですが,Cなどに比べると,まだ書籍の種類は多くありません。案外,言語としてのポイントを絞った,効率的な学習を意図...