WINGS(Www INtegrated Guide on Server-architecture)
Www INtegrated Guide on Server-architecture :
   ホーム お問い合わせ サーバーサイド環境構築設定 つぶやき ブックマーク レンタルサーバー 総合FAQ/訂正&ダウンロード このエントリーをはてなブックマークに追加        
  • 刊行書籍情報  [書籍マップ
  • オンライン公開 技術記事
  • シリーズ別書籍リスト
  • 「WINGS News」登録/解除
  • WINGSプロジェクト紹介
  • WINGSプロジェクトメンバ募集





【カテゴリ】 C#


独習C# 第5版  

独習C# 第5版

山田祥寛/著
株式会社 翔泳社/発行
定価 4,180円
B5変版・ 696ページ・ 1色
ISBN 978-4-7981-7556-0
発刊日: 2022年7月21日

[Amazon.co.jpからオンライン購入する]

   FAQ 本書訂正 アンケート ダウンロード

本書の特徴

C#言語の独学に最適な教科書

C#の文法・プログラムの書き方を、さまざまなサンプルプログラムを例示しながら詳細かつ丁寧に解説します。最新C# 10.0に対応しており、今から始める方にも、これまでの復習をしたい方にもお勧めです。
解説→例題→理解度チェックの3ステップで、C#の文法をきちんと習得できます。
本書掲載のサンプルは、ダウンロード可能。どんどん動かして試してみてください。

まとめて読んで 更にスキルアップのこんな書籍

・サクッと学べるASP.NET Core Blazorの解説書
速習 ASP.NET Core - Blazor編」(WINGSプロジェクト)
・サクッと学べるASP.NET Core Razor Pagesの解説書
速習 ASP.NET Core - Razor Pages編」(WINGSプロジェクト)
・サクッと学べるASP.NET Core 3の解説書
速習 ASP.NET Core 3」(WINGSプロジェクト)
・Visual C#で楽しくプログラミング
作って楽しむプログラミング Visual C# 2019超入門」(日経BP)
・C#プログラマなら持っておきたいリファレンス
[改訂新版]C#ポケットリファレンス」(技術評論社)
分野・レベル別マップ

本書について取り上げていただいたブログさま

・ホチキス先生の「プログラマーと呼ばれたい」 - Yoshio Matsumotoさま
【書評】独習C# 第5版 – 山田祥寛著 – プログラミング言語としてのC#を理解するための唯一無二の教科書でありリファレンスである(2022年11月06日)
・無限大な夢のあと - noimpslmtbrkさま
【書評】独習C# ( @yyamada )(2022年9月05日)
・プログラミング C# - 翔ソフトウェア (Shos) - Fujiwoさま
「独習C# 第5版」を読んで(2022年8月31日)
・愛しの方眼ノート - リューツー・クドイ 編集長さま
「独習C# 第5版」で、C#の概念と文法の基礎固めをしよう!(2022年8月30日)
・Qiita - toRisouPさま
独習C# 第5版 を読んだレビュー(2022年8月19日)
・人生のおつまみ - むーんさま
独習C#第5版レビュー(2022年8月16日)
・matsujirushi’s blog - matsujirushixさま
独習C# 第5版を読んで(読んでる)(2022年8月16日)

  Contents


第1章 イントロダクション
1.1 C# の特徴
 1.1.1 オブジェクト指向
 1.1.2 .NET 環境
 1.1.3 .NET の内部構造
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 トップレベルステートメント [9.0]
 1.3.4 デバッグの基本
この章の理解度チェック

第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 null 許容参照型 [8.0]
 2.5.4 配列型
この章の理解度チェック

第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 結合則
この章の理解度チェック

第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 命令による型判定 [7.0]
 4.1.7 よりシンプルな多岐分岐を表現する - switch 式[8.0]
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 プリプロセッサディレクティブ
この章の理解度チェック

第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.2.8 正規表現で文字列を置換する
 5.2.9 正規表現で文字列を分割する
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  補足 using 命令のルールとさまざまな記法
 5.4.3 テキストファイルを読み込む
 5.4.4 フォルダー/ファイルを操作する
5.5 その他の機能
 5.5.1 数学演算 ― Math クラス
 5.5.2 乱数を生成する ― Random クラス
 5.5.3 long 型以上の整数を演算する ― BigInteger 構造体
 5.5.4 配列を操作する ― Array クラス
 5.5.5 特定範囲のデータを編集する ― Span 構造体 [7.2]
この章の理解度チェック

第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(二分探索)
この章の理解度チェック

第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.0]
 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.5.7 静的ローカル関数 [8.0]
7.6 引数/戻り値のさまざまな記法
 7.6.1 引数の既定値
 7.6.2 名前付き引数
 7.6.3 可変長引数のメソッド
 7.6.4 値渡しと参照渡し
 7.6.5 戻り値の参照渡し [7.0]
 7.6.6 出力引数(outキーワード)
 7.6.7 タプル [7.0]
 7.6.8 匿名型
 7.6.9 イテレーター
この章の理解度チェック

第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.0]
 8.2.10 拡張メソッド
8.3 ポリモーフィズム
 8.3.1 ポリモーフィズムの例
 8.3.2 抽象メソッド
 8.3.3 インターフェイス
 8.3.4 インターフェイスと抽象クラスとの使い分け
 8.3.5 インターフェイスのデフォルト実装 [8.0]
この章の理解度チェック

第9章 オブジェクト指向構文(名前空間/例外処理/ジェネリックなど)
9.1 名前空間
 9.1.1 名前空間の基本
 9.1.2 名前の解決
 9.1.3 エイリアス修飾子
 9.1.4 グローバル名前空間エイリアス
 9.1.5 名前解決の優先順位
 9.1.6  補足 using static 命令による型のインポート
 9.1.7 global using [10.0]
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.4 構造体
 9.4.1 構造体の定義
 9.4.2 コンストラクターの宣言
 9.4.3 読み取り専用の構造体 [7.2]
 9.4.4 読み取り専用の関数メンバー [8.0]
 9.4.5  補足 ref 構造体 [7.2]
9.5 レコード型 [9.0]
 9.5.1 レコード型の基本
 9.5.2 with 式によるレコードの複製
 9.5.3 レコード構造体 [10.0]
 9.5.4 レコードの継承
9.6 特殊なクラス(入れ子のクラス/パーシャルクラス)
 9.6.1 入れ子のクラス
 9.6.2 パーシャルクラス
 9.6.3 パーシャルメソッド
9.7 ジェネリック
 9.7.1 ジェネリック型の定義
 9.7.2 ジェネリック型を宣言する場合の注意点
 9.7.3 型パラメーターの制約条件
 9.7.4 共変と反変
 9.7.5 ジェネリックメソッド
9.8 Objectクラス
 9.8.1 Object クラスの主なメソッド
 9.8.2 オブジェクトの文字列表現を取得する ― ToString メソッド
 9.8.3 オブジェクト同士が等しいかを判定する ― Equals メソッド
 9.8.4 オブジェクトのハッシュ値を取得する ― GetHashCode メソッド
 9.8.5 オブジェクトを分解する ― Deconstruct メソッド
 9.8.6 ボクシングとアンボクシング
9.9 演算子のオーバーロード
 9.9.1 オーバーロードの基本
 9.9.2 さまざまなオーバーロードの例
この章の理解度チェック

第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 ラムダ式の拡張
 10.1.8 ラムダ式によるメンバーの定義
 10.1.9 ラムダ式を伴う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 メソッド
この章の理解度チェック

第11章 高度なプログラミング
11.1 マルチスレッド処理
 11.1.1 スレッドの生成/実行
 11.1.2 タスクの生成/実行
 11.1.3 排他制御
 11.1.4 async 修飾子とawait 演算子
 11.1.5  例 値を返す非同期メソッド
 11.1.6 非同期メソッドの利用例
 11.1.7 非同期ストリーム [8.0]
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 データの解析

コラム
プロジェクトで利用するC# のバージョンを変更する
C# をより深く学ぶための関連書籍/記事
簡単なコードをその場で実行&確認する ― C# Interactive

本ページへのリンクには、このロゴをご利用ください。


著作権情報個人情報保護について広告掲載についてRSSフィードについて
出版社の方々へ会社概要スタッフ紹介サイトマップ  
書籍/記事に関するご質問/お問い合わせは「WINGSお問い合わせフォーム」をご利用ください。
Copyright(c) 1998-2024,Yamada Yoshihiro.  All Right Reserved.