スラスラわかるC#(岩永信之)|翔泳社の本
  1. ホーム >
  2. 書籍 >
  3. スラスラわかるC#

スラスラわかるC#


形式:
書籍
発売日:
ISBN:
9784798125824
価格:
本体2,500円+税
仕様:
A5変・432ページ
分類:
プログラミング・開発

本書籍の他の形式を確認する

  • このエントリーをはてなブックマークに追加

Microsoft MVPが解説するC#入門書の新定番

初めてプログラミングを学ぶ人や学生など、各種プログラミング言語の習得を目指す層に向けた、新しい入門書シリーズの続巻です。本シリーズでは、「プログラミング関連の知識はゼロ」という状態から、プログラミングの基礎知識や作法、言語の基本構文、基本テクニックなどを無理なく習得し、かつプログラムが自力で作れるようになるところまで、しっかりとフォローします。本書の著者はC#を知り尽くしたMicrosoft MVP。他言語にはないC#の特徴を要点を押さえてわかりやすく解説します。最新のVisual Studio 2012に対応。他の入門書で挫折した方やプログラミングに苦手意識を持っている方にもおすすめです。


第1章 C#プログラミングをはじめよう

1.1 プログラミングとは
 プログラムをプログラミングするということ
 コンピュータとの会話に必要な言語
 プログラムの実行過程
1.2 プログラミング言語C#
 C#とは
 .NET Frameworkとは
 Visual Studioとは
 初めてのC#プログラム
 初めてのGUIプログラム
 バージョンアップ
1.3 C#の全体像
 ユーザー定義型
 名前空間
 メンバー
 コメント
 手続き

第2章 章手続きの構成要素

1.1 プログラミングとは
2.1 変数と式
 変数はデータの格納場所
 変数を使うために宣言する
 変数の種類を表す「型」
 スコープで変数の使用範囲を決める
2.2 ステートメント
 ブロックでステートメントをひとまとめ
2.3 組み込み型
 整数型
 浮動小数点数型
 10進数
 論理値型
 文字型
 文字列型
 オブジェクト型
2.4 組み込み演算子
 演算子の種類
 算術演算
 インクリメント/デクリメント
 シフト演算
 論理演算
 関係演算
 複合代入演算
 条件演算
 Null合体演算
 ショートサーキット評価
2.5 型変換/オーバーフロー
 暗黙的な型変換
 明示的な型変換
 オーバーフローのチェック

第3章 手続きの構造化

1.1 プログラミングとは
3.1 構造化でプログラムの見通しを良くする
3.2 配列を使って複数のデータを一度に扱う
 配列がなかったら
 配列の作り方
 配列の利用
 配列の配列
 多次元配列
3.3 自由度が高いデータの構造化
 クラスでデータをひとまとめにする
 特定の値だけを扱う列挙型
3.4 制御フロー構文でフローを制御する
 逐次処理は基本的なフロー
 条件に応じて処理内容を変更する条件分岐
 反復では処理を特定の条件の間繰り返す
3.5 関数を使うとどこでも同じ処理を行える
 関数の作成と利用
 引数が複数ある関数、引数のない関数、戻り値のない関数
 関数のオーバーロード
 特殊な引数の渡し方
3.6 想定外の状況に備えて例外処理をする
 例外って?
 例外処理構文による例外処理
 標準で用意されている例外クラス
3.7 型を整理する名前空間
 名前空間とは?
 名前空間の使い方
 エイリアス
3.8 定数ならいつでも一定の値を使える
 変化しない値が必要なワケ

第4章 オブジェクト指向①(基礎)

1.1 プログラミングとは
4.1 オブジェクトを指向するとは?
 オブジェクト指向プログラミングの特徴
 オブジェクト指向プログラミング言語
4.2 クラスとインスタンス
 クラスを基にインスタンスを作る
 クラスを定義する
 クラスの性質を指定するための修飾子
 クラスを利用する
 クラスと構造体
4.3 クラスを構成するメンバー
 メンバーに対する修飾子
 定数を表すための手段
4.4 オブジェクトを初期化するコンストラクター
 コンストラクターを定義する
 メンバーを初期化する初期化子
 インスタンスを破棄するデストラクター
4.5 実装の隠蔽
 1 オブジェクトの不正な書換えを防止する
 2 クラスの実装を変更した際、利用側のコードを修正する必要をなくす
4.6 プロパティ
 set/getで異なるアクセスビリティを設定
4.7 クラスに属するメンバー
 静的メンバーの定義
 静的コンストラクター
 静的クラス

第5章 オブジェクト指向②(継承と多態性)

1.1 プログラミングとは
5.1 継承
 継承関係とは
 クラスの継承
 アップキャストとダウンキャスト
5.2 多態性
 仮想メソッド
 仮想メソッドの利用例(多態性)
5.3 抽象メソッドとインターフェイス
 抽象化
 インターフェイス

第6章 第一級市民化

1.1 プログラミングとは
6.1 あらゆる型を組み込み型と同列に扱う
6.2 オーバーロードで思い通りの演算子を作る
 演算子をオーバーロードする方法
 オーバーロード可能な演算子
 独自のキャストを定義する
6.3 コレクション初期化子
6.4 添え字でアクセスできるインサクデサー
 インデクサーを利用する

第7章 関数中心の機能

1.1 プログラミングとは
7.1 デリゲートでメソッドを参照する
 デリゲートの定義と使用
 デリゲートの機能
 使い勝手がよくなる匿名関数
 デリゲートの用途
7.2 イベントに応じて処理を行う
 イベント処理には定型パターンがある
 イベント構文でイベントハンドラを登録しよう
7.3 静的メソッドと拡張メソッドを使い分けよう
 拡張メソッドの意義
 拡張メソッドの呼び出しルール

第8章 メモリ管理

1.1 プログラミングとは
8.1 スタック/ヒープというメモリ管理手法
 スタックは積み上げ式
 ヒープは乱雑な山積み式
 自動でヒープ管理を行うガベージコレクション
8.2 型は値型と参照型に分けられる
 値型と参照型の違い
 値型と参照型の利点
 C#の型の分類
 ボックス化
 引数の参照渡し
 out修飾子による出力引数
8.3 Null許容型
 Nullable型
 Nullable型のメンバー
 Nullable型に対する演算
 ??演算
8.4 リソースの破棄
 リソース破棄の例
 usingステートメント

第9章 ジェネリック

1.1 プログラミングとは
9.1 ジェネリクで型を変更しやすくする
 メソッドをジェネリックにする
 クラスをジェネリックにする
 ジェネリックの利点
 型パラメータ
 インスタンス化で具体的な型を与える
 複雑な型パラメータの使い方
 既定値で初期化する
9.2 共変性/反変性で親子関係を持たせる
 ジェネリックの共変性/反変性
 in/out修飾子

第10章 データ処理

10.1 列挙子
 IEnumerableインターフェイスで要素を列挙する
 IEnumerableの実装例
 反復子ブロックで列挙子を簡単に生成する
 遅延処理
10.2 LINQ
 データ処理を構成するもの
 LINQの構成要素
 クエリ式
 標準クエリ演算子
 LINQプロバイダ

 

第11章 非同期処理

1.1 プログラミングとは
11.1 マルチスレッド処理
 スレッドは処理を動かす基本単位
 排他制御でデータへの処理を整理する
 volatile
11.2 非同期メソッド
 旧来的な書き方
 非同期メソッドの書き方
 非同期メソッドの戻り値の型

Appendix 付録

付録1 Visual Studioのインストール
 インストーラーのダウンロード
 インストール
起動・オンライン登録
付録2 CheckTestの解答

Column

コメントに書くこと
組み込み型とユーザー定義型
匿名型
例外処理の指針
クラスの定義分割とパーシャルメソッド
constのバージョニング問題
コンパイラ任せでプロパティやイベントを実装する
object型
foreachステートメントによる列挙
C# 1.1以前のデリゲート
純粋なメソッド
構造体
in/outにまつわる余談
実は必ずしも非同期ではない

付属データはこちら

書籍への問い合わせ

正誤表、追加情報をご確認の上、こちらよりお問い合わせください

書影の利用許諾について

本書籍に関する利用許諾申請はこちらになります

追加情報はありません。

ご購入いただいた書籍の種類を選択してください。

書籍の刷数を選択してください。

刷数は奥付(書籍の最終ページ)に記載されています。

現在表示されている正誤表の対象書籍

書籍の種類:

書籍の刷数:

本書に誤りまたは不十分な記述がありました。下記のとおり訂正し、お詫び申し上げます。

対象の書籍は正誤表がありません。

最終更新日:2016年04月25日
発生刷 ページ数 書籍改訂刷 電子書籍訂正 内容 登録日
1刷 xii
下から2行目
2刷
インサクデサー
インデクサー
2016.04.25
1刷 047
2つめのNote
2刷
dynaic型について、…(後略)…
dynamic型について、…(後略)…
2013.12.27
1刷 051
表2.2の浮動小数点数型の行
2刷
|――――――――― |単精度|double
|――――――――― |倍精度|float
|――――――――― |単精度|float
|――――――――― |倍精度|double
2013.05.20
1刷 064
表2.6の下から3行目
2刷
|++、- | インクリメント |
|++、-- | インクリメント、デクリメント
2013.05.20
1刷 067
図2.11
2刷

右シフトの2進数表記
2013.12.27
1刷 068
図2.12左側「符号なし整数(論理シフト)」
2刷
2015.08.31
1刷 068
図2.13「OR(論理和)」「XOR(排他的論理和)」の見出し行
2刷
2015.08.31
1刷 069
「表2.12 論理演算子」の「x^y」(XOR)の例2行目
2刷
← 1100 1001 XOR 0101 1100 = 1101 1101で149に
← 1100 1001 XOR 0101 1100 = 1001 0101で149に
2016.03.01
1刷 069
表2.11 演算子「x ^ y」行の「例」列
2刷
var b = true | false; ←true
var b = true ^ false; ←true
2015.08.31
1刷 084
図3.1の条件分岐
2刷
2016.03.01
1刷 093
「書式:多次元配列の初期化」の1行目
2刷
型名 [ , ] 変数名 = new 型名 [, p]
型名 [ , ] 変数名 = new 型名 [p, q]
2015.08.31
1刷 093
「書式:多次元配列の初期化」のフキダシ
2刷
型を明示しているので右辺のnew 型名 [,p]は省略可能
型を明示しているので右辺のnew 型名 [p,q]は省略可能
2015.08.31
1刷 094
リスト3.3の上から7~11行目
2刷
var rect2 = [,] { {1, 2, 3}, {4, 5, 6}, };
var rect2 = new[,] { {1, 2, 3}, {4, 5, 6}, };
2013.05.20
1刷 138
【書式】名前空間の定義
2刷
namespace 第2層の名前空間名1 { class クラスB{クラスBの内容} class クラスC{クラスCの内容} namespace 第2階層の名前空間名2 { class クラスA{クラスAの内容}
namespace 第2層の名前空間名1 { class クラスB{クラスBの内容} class クラスC{クラスCの内容} } namespace 第2階層の名前空間名2 { class クラスA{クラスAの内容} }
2013.05.20
1刷 171
readonlyキーワードを使った例
2刷
2016.02.29
1刷 213
上部コード表記中17~19行目
2刷
b.public_val = 0: // OK b.protected_val = 0: // OK(protectedは外部からアクセス不能) b.private_val = 0: // OK(privateは外部からアクセス不能)
b.public_val = 0: // OK b.protected_val = 0: // エラー(protectedは外部からアクセス不能) b.private_val = 0: // エラー(privateは外部からアクセス不能)
2013.12.27
1刷 222
リスト5.7の2つ目のフキダシ
2刷
派生クラスのDerivedのTest()メソッド(ovveride修飾子は後述)
派生クラスのDerivedのTest()メソッド(override修飾子は後述)
2013.12.27
1刷 224
中段のコード
2刷
{ get { return 0;
{ get { return 0; }
}
2013.05.20
1刷 231
4行目および8行目
2刷
(4行目)…ちゃんとオーバーロードしなければ無意味な… (8行目)…(派生クラスで必ずオーバーロードしなければならない…
(4行目)…ちゃんとオーバーライドしなければ無意味な… (8行目)…(派生クラスで必ずオーバーライドしなければならない…
2014.05.16
1刷 232
コード中7行目(空行含む)
2刷
  public virtual int Age
  public abstract int Age
2014.05.16
1刷 246
2つ目のコード中8行目(空行含む)
2刷
var c2 = temp;
var c2 = c;
2014.05.16
1刷 280
図7.4 イベント構文の実体

明示的実装の2行目
public event Action _keyDown;
は削除
2016.04.21