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

スラスラわかるC# 第2版



監修

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

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

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

「もっと」スラスラわかるC#!

~~~本書の特徴~~~
本書は、PC・サーバー・スマートフォンなどで動くアプリケーションや、ゲーム開発などさまざまな用途で使われるプログラミング言語、「C#」の入門書です。C#は2002年に誕生し、まだまだ新しい部類に入る言語ですが、その分現代的な考え方を多く取り入れた、そして今も成長し続けている言語です。

この書籍では、はじめてC#を学ぶ人に向け、C#プログラミングの「なぜ」を解決できるように、図解とサンプルを使用した解説をしています。本書を読めば、C#で書かれたプログラムを理解し、自分でC#プログラムを書くための基礎的な知識を身につけることができます。

また、本書ではチュートリアルのように「アプリケーションの作り方」を説明しているわけではなく、C#におけるプログラミングの基礎を体系的に習得できるよう構成し、いつでもスラスラ読み返すことができるように簡潔に説明しています。C#プログラミングに慣れてきた方でも、気軽に本書を開くことで、C#に関する知識や理解をより良い方向へと深めることができるはずです。

C#プログラミングの第一歩として、そしてすべてのC#ユーザーの必携の書としても、おすすめの一冊です。

~~~スラスラわかるポイント~~~
1. 必要な知識だけを厳選
C#の基礎的な文法と言語としての特徴を丁寧に解説しています。いきなり膨大なライブラリなどの知識を含めることはせず、C#の機能を理解するために必要な知識のみを掲載していますので、スラスラ読み進めることができます。

2. 短く読みやすいコード
掲載しているコードはどれも短く、頭の中でイメージしやすい内容にしています。実行結果もあわせて掲載していますので、自分でコードを入力できない場面でも、スラスラ理解することができます。

3. テストで理解度をチェック
各節の終わりにはチェックのためのテストを掲載しています。独学で勉強している人も手軽に理解度をチェックすることができます。


シリーズをもっと見る

第1章 C#プログラミングを始めよう
 1_1 プログラミングとは
 1_2 プログラミング言語C#
 1_3 C#の全体像

第2章 手続き
 2_1 手続きの構成要素
 2_2 ステートメント
 2_3 組み込み型
 2_4 組み込み演算子
 2_5 型変換とオーバーフロー

第3章 データの構造化
 3_1 構造化でプログラムの見通しをよくする
 3_2 配列を使って複数のデータを一度に扱う
 3_3 自由度が高いデータの構造化
 3_4 匿名型とタプル

第4章 手続きの構造化
 4_1 制御フロー構文でフローを制御する
 4_2 関数を使うとどこでも同じ処理を行える
 4_3 想定外の状況に備えて例外処理をする
 4_4 型を整理する名前空間
 4_5 定数ならいつでも一定の値を使える

第5章 オブジェクト指向(1)(基礎)
 5_1 オブジェクトを指向するとは?
 5_2 クラスとインスタンス

第6章 オブジェクト指向(2)(メンバー)
 6_1 クラスを構成するメンバー
 6_2 オブジェクトを初期化するコンストラクター
 6_3 実装の隠蔽
 6_4 プロパティ
 6_5 クラスに属するメンバー
 6_6 クラスの分割定義と部分メソッド 

第7章 オブジェクト指向(3)(継承と多態性)
 7_1 継承
 7_2 多態性
 7_3 抽象メソッドとインターフェイス
 7_4 パターンマッチング

第8章 第一級市民化
 8_1 あらゆる型を組み込み型と同列に扱う
 8_2 ユーザー定義型に演算子を定義する
 8_3 コレクション初期化子
 8_4 添え字でアクセスできるインデクサー

第9章 関数中心の機能
 9_1 デリゲートでメソッドを参照する
 9_2 匿名関数とローカル関数
 9_3 イベントに応じて処理を行う
 9_4 静的メソッドと拡張メソッド

第10章 メモリ管理
 10_1 スタック/ヒープというメモリ管理手法
 10_2 型は値型と参照型に分けられる
 10_3 値渡しと参照渡し
 10_4 null 許容型
 10_5 リソースの破棄

第11章 ジェネリクス
 11_1 ジェネリクスで型を変更しやすくする
 11_2 ジェネリクスの使い方
 11_3 共変性/反変性で親子関係を持たせる

第12章 データ処理
 12_1 列挙子
 12_2 イテレーターブロックで列挙子を簡単に生成する
 12_3 遅延実行
 12_4 LINQ

第13章 非同期処理
 13_1 マルチスレッドとは?
 13_2 非同期メソッド
 13_3 排他制御

付属データはこちら

会員特典はこちら

書籍への問い合わせ

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

書影の利用許諾について

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

追加情報はありません。

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

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

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

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

書籍の種類:

書籍の刷数:

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

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

最終更新日:2018年12月05日
発生刷 ページ数 書籍改訂刷 電子書籍訂正 内容 登録日
1刷 078
冒頭見出し名
文字列挿入
文字列置換
2018.11.06
1刷 117
本文1行目
「配列の実態を生成する」
「配列の実態を生成する」
2018.12.05
1刷 123
リスト3-3、下から3行目
Console.WriteLine(jug[1, 2]);
Console.WriteLine(jug[1][2]);
2018.11.06
1刷 143
Memo内冒頭
実際には
実際には
2018.11.06
1刷 165
用語解説内、下から4行目末
Aに示すように
図に示すように
2018.11.06
1刷 178
実行結果
12345 127 16945
12345 16945
2018.12.05
1刷 190
リスト4-13内のコメント
// 正数の文字列自身を画面に表示する
// 整数の文字列自身を画面に表示する
2018.12.05
1刷 201
Column内1行目
tyr-catch
try-catch
2018.12.05
1刷 228
本文6行目
データを表すを指して
データを指して
2018.12.05
1刷 298
本文10行目から11行目
B extents A
B extends A
2018.12.05
1刷 369
リスト8-5内コメント
// コレクション初期化子u12363?ら呼び出される
// コレクション初期化子から呼び出される
2018.12.05
1刷 380
リスト8-10、IndexerSampleクラス
class IndexerSample { static void Main() { dic["ハァ"] = "( ゚Д゚)?"; dic["ハァハァ"] = "(;´ Д`)"; dic["ポカーン"] = "( ゚д゚)"; dic["オマエモナ"] = "(´ ∀`)"; dic["YO!"] = "<('ヮ')>"; Console.Write(dic["ポカーン"]); } }
class IndexerSample { static void Main() { var dic = new Dictionary(); dic["ハァ"] = "( ゚Д゚)?"; dic["ハァハァ"] = "(;´ Д`)"; dic["ポカーン"] = "( ゚д゚)"; dic["オマエモナ"] = "(´ ∀`)"; dic["YO!"] = "<('ヮ')>"; Console.Write(dic["ポカーン"]); } }
2018.11.06
1刷 401
本文7行目
テストラクター
デストラクター
2018.12.05
1刷 413
図内コード下から2行目
_keydown -= handle;
_keydown -= handler;
2018.12.05
1刷 522
図内コード4行目
group c by c.Cos into g
group c by c.Cost into g
2018.12.05
1刷 552
リスト13-3
private void Button_Click(object sender, RoutedEventArgs e) { var client = new WebClient(); var urlList = this.Url.Text.Split(','); // 何番目までダウンロードが完了したかの状態を保持 int i = -1; Action action = null; // ❶ ダウンロードが完了したときの処理を登録しておく client.DownloadStringCompleted += (sender, e) => { // ❼ ダウンロードが完了すると処理がここに来る // ❽ コールバックの引数からactionを取り出す var continuation = e.UserState as Action; continuation(e); // ❾ もう一度actionを呼び出す(❹に戻る) }; // ❷ デリゲートactionを定義しておく action = e => { // ❹ 引数に値が入っていたら結果をOutputに追加 // (初回はnullなので何もしない) if (e != null) this.Output.Text += e.Result; // ❺ 現在のダウンロード完了状況を記録 ++i; if (i >= urlList.Length) return; // ❻ i番目のURLを使ってダウンロードを開始(引数としてactionを渡す) client.DownloadStringAsync(new Uri(urlList[i]), action); }; this.Output.Text = string.Empty; action(null); // ❸ actionを呼び出し }
private void Button_Click(object sender, RoutedEventArgs e) { var client = new WebClient(); var urlList = this.Url.Text.Split(','); // 何番目までダウンロードが完了したかの状態を保持 int i = -1; Action action = null; // ❶ ダウンロードが完了したときの処理を登録しておく client.DownloadStringCompleted += (sender_, e_) => { // ❼ ダウンロードが完了すると処理がここに来る // ❽ コールバックの引数からactionを取り出す var continuation = e_.UserState as Action; continuation(e_); // ❾ もう一度actionを呼び出す(❹に戻る) }; // ❷ デリゲートactionを定義しておく action = e_ => { // ❹ 引数に値が入っていたら結果をOutputに追加 // (初回はnullなので何もしない) if (e_ != null) this.Output.Text += e_.Result; // ❺ 現在のダウンロード完了状況を記録 ++i; if (i >= urlList.Length) return; // ❻ i番目のURLを使ってダウンロードを開始(引数としてactionを渡す) client.DownloadStringAsync(new Uri(urlList[i]), action); }; this.Output.Text = string.Empty; action(null); // ❸ actionを呼び出し }
2018.11.06
1刷 553
本文最終行、Asyncのルビ
アシンク
エイシンク
2018.12.05
1刷 XVII
目次項目「コレクション初期化子」節番号
1.3 コレクション初期化子
8.3 コレクション初期化子
2018.11.06