岩永 信之(著)
※1点の税込金額となります。 複数の商品をご購入いただいた場合のお支払金額は、 単品の税込金額の合計額とは異なる場合がございますので、予めご了承ください。
初めてプログラミングを学ぶ人や学生など、各種プログラミング言語の習得を目指す層に向けた、新しい入門書シリーズの続巻です。本シリーズでは、「プログラミング関連の知識はゼロ」という状態から、プログラミングの基礎知識や作法、言語の基本構文、基本テクニックなどを無理なく習得し、かつプログラムが自力で作れるようになるところまで、しっかりとフォローします。本書の著者はC#を知り尽くしたMicrosoft MVP。他言語にはないC#の特徴を要点を押さえてわかりやすく解説します。最新のVisual Studio 2012に対応。他の入門書で挫折した方やプログラミングに苦手意識を持っている方にもおすすめです。
1.1 プログラミングとは
プログラムをプログラミングするということ
コンピュータとの会話に必要な言語
プログラムの実行過程
1.2 プログラミング言語C#
C#とは
.NET Frameworkとは
Visual Studioとは
初めてのC#プログラム
初めてのGUIプログラム
バージョンアップ
1.3 C#の全体像
ユーザー定義型
名前空間
メンバー
コメント
手続き
1.1 プログラミングとは
2.1 変数と式
変数はデータの格納場所
変数を使うために宣言する
変数の種類を表す「型」
スコープで変数の使用範囲を決める
2.2 ステートメント
ブロックでステートメントをひとまとめ
2.3 組み込み型
整数型
浮動小数点数型
10進数
論理値型
文字型
文字列型
オブジェクト型
2.4 組み込み演算子
演算子の種類
算術演算
インクリメント/デクリメント
シフト演算
論理演算
関係演算
複合代入演算
条件演算
Null合体演算
ショートサーキット評価
2.5 型変換/オーバーフロー
暗黙的な型変換
明示的な型変換
オーバーフローのチェック
1.1 プログラミングとは
3.1 構造化でプログラムの見通しを良くする
3.2 配列を使って複数のデータを一度に扱う
配列がなかったら
配列の作り方
配列の利用
配列の配列
多次元配列
3.3 自由度が高いデータの構造化
クラスでデータをひとまとめにする
特定の値だけを扱う列挙型
3.4 制御フロー構文でフローを制御する
逐次処理は基本的なフロー
条件に応じて処理内容を変更する条件分岐
反復では処理を特定の条件の間繰り返す
3.5 関数を使うとどこでも同じ処理を行える
関数の作成と利用
引数が複数ある関数、引数のない関数、戻り値のない関数
関数のオーバーロード
特殊な引数の渡し方
3.6 想定外の状況に備えて例外処理をする
例外って?
例外処理構文による例外処理
標準で用意されている例外クラス
3.7 型を整理する名前空間
名前空間とは?
名前空間の使い方
エイリアス
3.8 定数ならいつでも一定の値を使える
変化しない値が必要なワケ
1.1 プログラミングとは
4.1 オブジェクトを指向するとは?
オブジェクト指向プログラミングの特徴
オブジェクト指向プログラミング言語
4.2 クラスとインスタンス
クラスを基にインスタンスを作る
クラスを定義する
クラスの性質を指定するための修飾子
クラスを利用する
クラスと構造体
4.3 クラスを構成するメンバー
メンバーに対する修飾子
定数を表すための手段
4.4 オブジェクトを初期化するコンストラクター
コンストラクターを定義する
メンバーを初期化する初期化子
インスタンスを破棄するデストラクター
4.5 実装の隠蔽
1 オブジェクトの不正な書換えを防止する
2 クラスの実装を変更した際、利用側のコードを修正する必要をなくす
4.6 プロパティ
set/getで異なるアクセスビリティを設定
4.7 クラスに属するメンバー
静的メンバーの定義
静的コンストラクター
静的クラス
1.1 プログラミングとは
5.1 継承
継承関係とは
クラスの継承
アップキャストとダウンキャスト
5.2 多態性
仮想メソッド
仮想メソッドの利用例(多態性)
5.3 抽象メソッドとインターフェイス
抽象化
インターフェイス
1.1 プログラミングとは
6.1 あらゆる型を組み込み型と同列に扱う
6.2 オーバーロードで思い通りの演算子を作る
演算子をオーバーロードする方法
オーバーロード可能な演算子
独自のキャストを定義する
6.3 コレクション初期化子
6.4 添え字でアクセスできるインサクデサー
インデクサーを利用する
1.1 プログラミングとは
7.1 デリゲートでメソッドを参照する
デリゲートの定義と使用
デリゲートの機能
使い勝手がよくなる匿名関数
デリゲートの用途
7.2 イベントに応じて処理を行う
イベント処理には定型パターンがある
イベント構文でイベントハンドラを登録しよう
7.3 静的メソッドと拡張メソッドを使い分けよう
拡張メソッドの意義
拡張メソッドの呼び出しルール
1.1 プログラミングとは
8.1 スタック/ヒープというメモリ管理手法
スタックは積み上げ式
ヒープは乱雑な山積み式
自動でヒープ管理を行うガベージコレクション
8.2 型は値型と参照型に分けられる
値型と参照型の違い
値型と参照型の利点
C#の型の分類
ボックス化
引数の参照渡し
out修飾子による出力引数
8.3 Null許容型
Nullable型
Nullable型のメンバー
Nullable型に対する演算
??演算
8.4 リソースの破棄
リソース破棄の例
usingステートメント
1.1 プログラミングとは
9.1 ジェネリクで型を変更しやすくする
メソッドをジェネリックにする
クラスをジェネリックにする
ジェネリックの利点
型パラメータ
インスタンス化で具体的な型を与える
複雑な型パラメータの使い方
既定値で初期化する
9.2 共変性/反変性で親子関係を持たせる
ジェネリックの共変性/反変性
in/out修飾子
10.1 列挙子
IEnumerableインターフェイスで要素を列挙する
IEnumerableの実装例
反復子ブロックで列挙子を簡単に生成する
遅延処理
10.2 LINQ
データ処理を構成するもの
LINQの構成要素
クエリ式
標準クエリ演算子
LINQプロバイダ
1.1 プログラミングとは
11.1 マルチスレッド処理
スレッドは処理を動かす基本単位
排他制御でデータへの処理を整理する
volatile
11.2 非同期メソッド
旧来的な書き方
非同期メソッドの書き方
非同期メソッドの戻り値の型
付録1 Visual Studioのインストール
インストーラーのダウンロード
インストール
起動・オンライン登録
付録2 CheckTestの解答
コメントに書くこと
組み込み型とユーザー定義型
匿名型
例外処理の指針
クラスの定義分割とパーシャルメソッド
constのバージョニング問題
コンパイラ任せでプロパティやイベントを実装する
object型
foreachステートメントによる列挙
C# 1.1以前のデリゲート
純粋なメソッド
構造体
in/outにまつわる余談
実は必ずしも非同期ではない
金糸雀 さん
2013-08-02
著者はどこが「スラスラわかる」と思ったのかカナの前で釈明すること
おげ さん
2016-08-08
読んだってのもおかしな話だけど
ryo511 さん
2015-04-15
内容的には間違いなく良書で、C#5.0現在の言語仕様を上手くまとめている。類書と比べても、ページ数は少なめながら、機能の理解に必要な量のサンプルはちゃんと用意されているので、読み通しやすく理解もしやすい。ただし、「プログラミングの知識は不要」という表紙の謳い文句は大嘘。これより易しいC#の入門書は無いかもしれないけど、これでプログラミングに入門するのはかなり厳しい。A