|
【カテゴリ】 C#
独習C# 新版
サポート終了
|
山田祥寛/著
株式会社 翔泳社/発行
定価
3,960円
B5変版・
624ページ・
1色
ISBN 978-4-7981-5382-7
発刊日:
2017年12月15日
|
[お知らせ] 2022年7月、C# 10.0に対応した「独習C# 第5版」を刊行しました。
本書の特徴
C#言語の独学に最適な教科書
C#の文法・プログラムの書き方を、さまざまなサンプルプログラムを例示しながら詳細かつ丁寧に解説します。最新C# 7.1に対応しており、今から始める方にも、これまでの復習をしたい方にもお勧めです。
解説→例題→理解度チェックの3ステップで、C#の文法をきちんと習得できます。
本書掲載のサンプルは、ダウンロード可能。どんどん動かして試してみてください。
まとめて読んで 更にスキルアップのこんな書籍
- ・Visual C#で楽しくプログラミング
- 「作って楽しむプログラミング Visual C# 2019超入門」(日経BP)
- ・サクッと学べるASP.NET Coreの解説書
- 「速習 ASP.NET Core」(WINGSプロジェクト)
- ・C#プログラマなら持っておきたいリファレンス
- 「[改訂新版]C#ポケットリファレンス」(技術評論社)
本書について取り上げていただいたブログさま
-
・EXCHANGE ANSWER -
Hotaka Amemiyaさま
-
独習C#(新版)のレビューをしました(2018年1月15日)
-
・雑多な日記 -
linyiさま
-
「独習 C# 新版」レビュー(2018年1月15日)
-
・M1号ブログ -
M1号さま
-
独習C#新版を読んだ感想(2018年1月08日)
-
・憂鬱な午後のひととき -
光成滋生さま
-
『独習C#新版』(山田祥寛)(2018年1月07日)
-
・東方算程譚 -
επιστημηさま
-
書籍レビュー: 「新版 独習C#」(2018年1月04日)
-
・DoorLog -
Sugitaさま
-
【レビュー】山田祥寛さん著 『独習C# 新版』(2017/12/15、翔泳社)の感想(2018年1月01日)
-
・あて先のないe-mail -
あて先のないe-mailさま
-
「独習C# 新版」を読んで(2017年12月31日)
-
・グロブ -
pppirotoさま
-
独習C# 3日間で体系的にC#の全体像を把握する(2017年12月24日)
-
・CodeZine -
渡部 拓也さま
-
確かな言語理解は後々の血肉となり底力となる――『独習C# 新版』山田祥寛が語る(2017年12月22日)
-
・CodeZine -
CodeZine編集部さま
-
初心者がC#の文法を網羅的に学べる『独習C#』の最新版が登場! C# 7.1に対応した完全書き下ろし(2017年12月15日)
Contents |
-
Chapter 1 イントロダクション
-
1.1 C#の特徴
1.1.1 オブジェクト指向
1.1.2 .NET環境
1.1.3 .NET Framework
1.2 C# アプリを開発/実行するための基本環境
1.2.1 Visual StudioとC#のバージョン
1.2.2 Visual Studioのインストール
1.3 C#プログラミングの基本
1.3.1 基本的なアプリの作成
1.3.2 ソースコードの全体像
1.3.3 デバッグの基本
この章の理解度チェック
- Chapter 2 C#の基本
-
2.1 変数
2.1.1 変数の宣言
2.1.2 識別子の命名規則
2.1.3 より良い識別子のためのルール
2.1.4 定数
2.2 データ型
2.2.1 データ型の分類
2.2.2 整数型
2.2.3 浮動小数点型
2.2.4 文字型
2.2.5 真偽型
2.2.6 オブジェクト型
2.2.7 型推論
2.3 リテラル
2.3.1 整数リテラル
2.3.2 浮動小数点リテラル
2.3.3 [補足]数値リテラルにおける型サフィックス
2.3.4 文字リテラル
2.3.5 文字列リテラル
2.4 型変換
2.4.1 暗黙的な変換
2.4.2 明示的な変換(キャスト)
2.4.3 [補足]文字列⇔数値の変換
2.5 参照型
2.5.1 クラス型
2.5.2 null値
2.5.3 配列型
この章の理解度チェック
- Chapter 3 演算子
-
3.1 算術演算子
3.1.1 非数値が混在する演算
3.1.2 連続した文字列結合に注意
3.1.3 インクリメント演算子/デクリメント演算子
3.1.4 除算とデータ型
3.1.5 浮動小数点数の演算には要注意
3.2 代入演算子
3.2.1 値型/参照型による代入
3.3 関係演算子
3.3.1 同一性と同値性
3.3.2 浮動小数点数の比較
3.3.3 配列の比較
3.3.4 条件演算子(?:)
3.3.5 null合体演算子
3.4 論理演算子
3.4.1 ショートカット演算(短絡演算)
3.5 ビット演算子
3.5.1 ビット論理演算子
3.5.2 ビットシフト演算子
3.6 その他の演算子
3.6.1 sizeof演算子
3.6.2 nameof演算子
3.7 演算子の優先順位と結合則
3.7.1 優先順位
3.7.2 結合則
この章の理解度チェック
- Chapter 4 制御構文
-
4.1 条件分岐
4.1.1 if命令——単純分岐
4.1.2 if命令——多岐分岐
4.1.3 if命令——入れ子構造
4.1.4 [補足]中カッコは省略可能
4.1.5 switch命令
4.1.6 switch命令による型判定
4.2 繰り返し処理
4.2.1 while/do...while命令
4.2.2 [補足]無限ループ
4.2.3 for命令
4.2.4 foreach命令
4.3 ループの制御
4.3.1 break命令
4.3.2 continue命令
4.3.3 ループのネストとbreak/continue命令
4.4 制御命令のその他の話題
4.4.1 goto命令
4.4.2 プリプロセッサディレクティブ
この章の理解度チェック
- Chapter 5 標準ライブラリ
-
5.1 文字列の操作
5.1.1 文字列の長さを取得する
5.1.2 文字列を大文字小文字、全角半角、ひらがなカタカナを区別せずに比較する
5.1.3 文字列がnull/空文字であるかを判定する
5.1.4 文字列を検索する
5.1.5 文字列に特定の文字列が含まれるかを判定する
5.1.6 部分文字列を取得する
5.1.7 文字列を特定の区切り文字で分割する
5.1.8 文字列を整形する
5.2 正規表現
5.2.1 正規表現の基本
5.2.2 文字列が正規表現パターンにマッチしたかを判定する
5.2.3 正規表現で文字列を検索する
5.2.4 正規表現で文字列をグローバル検索する
5.2.5 正規表現オプションでマッチング時の挙動を制御する
5.2.6 正規表現で文字列を置換する
5.2.7 正規表現で文字列を分割する
5.3 日付/時刻
5.3.1 日付/時刻オブジェクトを生成する
5.3.2 年月日、時分秒などの時刻要素を取得する
5.3.3 日付/時刻値を整形する
5.3.4 日付を加算/減算する
5.3.5 日付/時刻値の差分を取得する
5.3.6 日付/時刻を演算子で操作/比較する
5.4 ファイルの操作
5.4.1 テキストをファイルに書き込む
5.4.2 テキストファイルを読み込む
5.4.3 フォルダー/ファイルを操作する
5.5 その他の機能
5.5.1 数学演算——Mathクラス
5.5.2 long型以上の整数を演算する——BigInteger構造体
5.5.3 配列を操作する——Arrayクラス
この章の理解度チェック
- Chapter 6 コレクション
-
6.1 コレクションAPIの基本
6.1.1 ジェネリック構文
6.1.2 基本的なコーディング手法
6.2 リスト
6.2.1 List(リスト)
6.2.2 LinkedList(二重リンクリスト)
6.2.3 Stack(スタック)
6.2.4 Queue(キュー)
6.3 セット
6.3.1 セットの基本操作
6.3.2 並び順を管理するSortedSetクラス
6.4 ディクショナリ
6.4.1 Dictionary(ディクショナリ)
6.4.2 SortedDictionary(ソート済みディクショナリ)
6.4.3 SortedList(二分探索)
この章の理解度チェック
- Chapter 7 オブジェクト指向構文(基本)
-
7.1 クラスの定義
7.1.1 クラス名
7.1.2 修飾子
7.1.3 メンバーの記述順
7.2 フィールド
7.2.1 フィールド名
7.2.2 修飾子
7.2.3 既定値
7.3 メソッド
7.3.1 メソッド名
7.3.2 実引数と仮引数
7.3.3 戻り値
7.3.4 修飾子
7.3.5 thisキーワード
7.3.6 メソッドのオーバーロード
7.3.7 ローカル関数
7.3.8 変数のスコープ
7.4 コンストラクター
7.4.1 コンストラクターの基本
7.4.2 デフォルトコンストラクター
7.4.3 コンストラクターのオーバーロード
7.4.4 オブジェクト初期化子
7.4.5 デストラクター
7.5 クラスメソッド/クラスフィールド
7.5.1 クラスメソッド
7.5.2 クラスフィールド
7.5.3 [例]シングルトンパターン
7.5.4 クラス定数
7.5.5 静的コンストラクター
7.5.6 静的クラス
7.6 引数/戻り値のさまざまな記法
7.6.1 引数の既定値
7.6.2 名前付き引数
7.6.3 可変長引数のメソッド
7.6.4 値渡しと参照渡し
7.6.5 戻り値の参照渡し
7.6.6 出力引数(outキーワード)
7.6.7 タプル
7.6.8 匿名型
7.6.9 イテレーター
この章の理解度チェック
- Chapter 8 オブジェクト指向構文(カプセル化/継承/ポリモーフィズム)
-
8.1 カプセル化
8.1.1 アクセス修飾子
8.1.2 フィールドのアクセス権限とプロパティ
8.1.3 インデクサー
8.2 継承
8.2.1 継承の基本
8.2.2 メソッドの隠蔽
8.2.3 メソッドのオーバーライド
8.2.4 コンストラクター(継承時の挙動)
8.2.5 継承の禁止
8.2.6 オーバーライドの禁止
8.2.7 参照型における変換
8.2.8 型の判定
8.2.9 拡張メソッド
8.3 ポリモーフィズム
8.3.1 ポリモーフィズムの例
8.3.2 抽象メソッド
8.3.3 インターフェイス
8.3.4 インターフェイスと抽象クラスとの使い分け
この章の理解度チェック
- Chapter 9 オブジェクト指向構文(名前空間/例外処理/ジェネリックなど)
-
9.1 名前空間
9.1.1 名前空間の基本
9.1.2 名前の解決
9.1.3 エイリアス修飾子
9.1.4 グローバル名前空間エイリアス
9.1.5 名前解決の優先順位
9.1.6 [補足]using static命令による型のインポート
9.2 例外処理
9.2.1 例外処理の基本
9.2.2 finallyブロック
9.2.3 例外クラスの型
9.2.4 例外をスローする
9.2.5 例外をスローする場合の留意点
9.2.6 例外クラスを拡張する
9.2.7 オーバーフローのチェック
9.3 列挙型
9.3.1 列挙型の基本
9.3.2 列挙型のさまざまな宣言
9.3.3 列挙型の正体
9.3.4 列挙型によるビットフィールド表現
9.3.5 構造体
9.3.6 構造体の定義
9.3.7 コンストラクターの宣言
9.4 特殊なクラス(入れ子のクラス/パーシャルクラス)
9.4.1 入れ子のクラス
9.4.2 パーシャルクラス
9.4.3 パーシャルメソッド
9.5 ジェネリック
9.5.1 ジェネリック型の定義
9.5.2 ジェネリック型を宣言する場合の注意点
9.5.3 型パラメーターの制約条件
9.5.4 共変と反変
9.5.5 ジェネリックメソッド
9.6 Objectクラス
9.6.1 Objectクラスの主なメソッド
9.6.2 オブジェクトの文字列表現を取得する——ToStringメソッド
9.6.3 オブジェクト同士が等しいかを判定する——Equalsメソッド
9.6.4 オブジェクトのハッシュ値を取得する——GetHashCodeメソッド
9.6.5 ボクシングとアンボクシング
9.7 演算子のオーバーロード
9.7.1 オーバーロードの基本
9.7.2 さまざまなオーバーロードの例
この章の理解度チェック
- Chapter 10 ラムダ式/LINQ
-
10.1 デリゲート/匿名メソッド/ラムダ式
10.1.1 デリゲートの基本
10.1.2 [例]メソッドの引数としてメソッドを引き渡す
10.1.3 マルチキャストデリゲート
10.1.4 匿名メソッド
10.1.5 ラムダ式
10.1.6 ラムダ式によるメンバーの定義
10.1.7 ラムダ式を伴うListクラスのメソッド
10.2 LINQ
10.2.1 本章で利用するサンプルデータ
10.2.2 クエリ構文とメソッド構文
10.2.3 データの検索条件を指定する——where句/Whereメソッド
10.2.4 データを並べ替える——orderby句/OrderByメソッド
10.2.5 特定のプロパティだけを取り出す——select句/Selectメソッド
10.2.6 データの重複を除去する——Distinctメソッド
10.2.7 m〜n件目のデータを取得する——Skip/Takeメソッド
10.2.8 先頭のデータを取得する——Firstメソッド
10.2.9 データをグループ化する——group句/GroupByメソッド
10.2.10 グループ化した結果を絞り込む——into句
10.2.11 複数のデータソースを結合する——join句/Joinメソッド
この章の理解度チェック
- Chapter 11 高度なプログラミング
-
11.1 マルチスレッド処理
11.1.1 スレッドの生成/実行
11.1.2 タスクの生成/実行
11.1.3 排他制御
11.1.4 async修飾子とawait演算子
11.1.5 [例]値を返す非同期メソッド
11.1.6 非同期メソッドの利用例
11.2 属性
11.2.1 属性の記述位置
11.2.2 属性の構文
11.2.3 標準の属性
11.2.4 属性の自作
11.2.5 [補足]リフレクションの主なメソッド
11.3 動的型付け変数(dynamic型)
11.3.1 dynamic型の基本
11.3.2 動的型付け言語との連携
11.3.3 JSONデータの解析
11.3.4 動的オブジェクトの定義
11.4 イベント
11.4.1 イベントの基本
11.4.2 イベント/デリゲートの相違点
この章の理解度チェック
- 付録A
-
「練習問題」「この章の理解度チェック」解答
- コラム
-
Visual Studioで利用するC#のバージョンを変更する
ブラウザー環境でC#のコードを実行する——C# Pad
C#をより深く学ぶための関連書籍
|
|