ISBN: 978-4-8222-8653-8
基礎からしっかり学ぶC#の教科書 改訂新版 C# 8対応
サポート終了
| 著者 | WINGSプロジェクト 高江 賢 |
|---|---|
| 監修 | 山田祥寛 |
| 出版社 | 日経BP |
| 価格 | 2,900円(税別) |
| 判型 | B5変判・2色 |
| ページ数 | 404ページ |
| 発売日 | 2019年12月20日 |
| シリーズ | 基礎からしっかり学ぶ教科書 |
| 対象レベル | 初級 |
構文とサンプルコードで学べるC#入門書
C#の使い方を、基礎から丁寧に解説した入門書です。プログラミングに必要な基礎知識を体系的に学習できます。各章末には復習問題があります。最終章では電卓アプリを作成し、本書で学んだこと全体が復習できます。掲載サンプルは、出版社サイトからダウンロード可能。
本書は2017年発行の「基礎からしっかり学ぶC#の教科書」を、執筆時点の最新情報に合わせて全面的に改訂し、C# 8に対応させたものです。
更新履歴
- 正誤訂正:2020年5月15日 更新
目次
- 第1章 プログラミングの基礎 〜プログラミングの世界に触れる
- 1.1 プログラムとは
- 1.2 .NET Framework
- 1.3 ソフトウェア開発
- 練習問題
- 第2章 C# の基礎 〜はじめてのプログラムを書く
- 2.1 C#とは?
- 2.2 C#の特徴
- 2.3 C#で開発できる主なアプリケーション
- 2.4 C#のプログラム
- 2.5 C#プログラムの書き方と構造
- 2.6 名前空間の基本
- 2.7 名前付けの規約
- 練習問題
- 第3章 変数とデータ型 〜さまざまなデータを扱うには
- 3.1 変数とデータ型とは
- 3.2 組み込みデータ型
- 3.3 変数の有効範囲
- 3.4 型変換
- 3.5 値型と参照型
- 3.6 ユーザー定義型
- 3.7 型推論と匿名型
- 練習問題
- 第4章 式と演算子 〜計算を表現するには
- 4.1 プログラムを構成するもの
- 4.2 演算子
- 4.3 演算子の優先順位
- 4.4 参照型の代入と比較
- 練習問題
- 第5章 制御文 〜プログラムの流れを理解する
- 5.1 制御文とは
- 5.2 選択
- 5.3 繰り返し
- 5.4 選択と繰り返し構造における注意点
- 5.5 ジャンプ(無条件分岐)
- 練習問題
- 第6章 クラスの基礎とメソッド 〜オブジェクト指向への最初のステップ
- 6.1 クラスの基礎
- 6.2 アクセス修飾子
- 6.3 メソッド
- 6.4 インスタンス
- 6.5 インスタンスメンバーと静的メンバー
- 練習問題
- 第7章 継承とカプセル化 〜クラスの機能を変更するには
- 7.1 継承
- 7.2 カプセル化
- 7.3 パーシャルクラス
- 練習問題
- 第8章 ポリモーフィズム 〜クラスを操作するには
- 8.1 ポリモーフィズム(多態性)
- 8.2 インターフェイス
- 8.3 型スイッチ(C#バージョン7)
- 練習問題
- 第9章 例外処理 〜思いがけないことに対処するには
- 9.1 例外処理とは
- 9.2 try、catch、finally
- 9.3 例外クラス
- 9.4 throw 文
- 9.5 checked文とunchecked文
- 練習問題
- 第10章 配列と構造体 〜データをまとめて扱うには
- 10.1 配列
- 10.2 構造体
- 10.3 タプル(C#バージョン7)
- 10.4 null
- 練習問題
- 第11章 高度なプログラミング 〜プログラミングの世界を広げる
- 11.1 デリゲート
- 11.2 ラムダ式
- 11.3 イベント
- 11.4 非同期処理
- 11.5 名前空間
- 11.6 演算子のオーバーロード
- 11.7 拡張メソッドと動的型付け変数
- 11.8 パターンマッチング
- 練習問題
- 第12章 クラスライブラリの活用 〜.NET を使いこなす最初のステップ
- 12.1 コレクション
- 12.2 文字列処理
- 12.3 ファイルへの入出力
- 12.4 ネットワーク
- 12.5 Span構造体と配列
- 12.6 LINQ
- 練習問題
- 第13章 GUI アプリケーションの基礎 〜Windows のプログラミングを学ぶ
- 13.1 2つのGUI技術とUWP
- 13.2 はじめてのGUIアプリケーション
- 練習問題の解答
正誤表
| 該当頁 | 該当箇所 | 修正刷 |
|---|---|---|
| 訂正箇所 | 訂正事項 | 更新日 |
| p.17 | 図1-18 | - |
| 中間言語(LI) | 中間言語(CIL) | 2020/05/15 |
| p.42 | [サンプル]Sample2.cs | 2刷 |
| string name = System.Console.ReadLine(); | string name = Console.ReadLine(); | 2020/02/10 |
| p.175 | [サンプル]abstract.cs 下から3行目 | 2刷 |
| s.getInfo(); | s.GetInfo(); | 2020/02/23 |
| p.178 | [サンプル]interface.cs 上から3行目 | 2刷 |
| void getInfo(); | void GetInfo(); | 2020/02/23 |
| p.238 | [サンプル]nullconditional1.cs | 2刷 |
| Console.WriteLine(no); | Console.WriteLine(n); | 2020/04/28 |
| p.241 | [サンプル]Practice10_4.cs | 2刷 |
| public Olympic(int y, int m, int d) | public Competition(int y, int m, int d) | 2020/04/30 |
| p.241 | [サンプル]Practice10_4.cs | 2刷 |
| Console.WriteLine( os.GetOpening() ); // 出力値:(2020, 7, 24) | この1行は削除 | 2020/04/30 |
| p.245 | 冒頭のサンプルコード 2行目 | 2刷 |
| SampleDel delVar = new SampleDel( testMethod ); | SampleDel delVar = new SampleDel( TestMethod ); | 2020/03/05 |
| p.370 | 第3章の解答「3」「4」 | 2刷 |
| 第3章の解答「3」「4」 | 解答「4」解答「5」 | 2020/04/10 |
| p.370 | 第3章の解答 | 2刷 |
| 解答「3」 | 円マークのエスケープシーケンスは\\ で、改行は\n となります。 [サンプル]Practice3_2.cs using System; namespace Practice3_2 { class Practice { static void Main() { // 逐語的文字列リテラル string s1 = @"\1,000 \20,000"; Console.WriteLine( s1 ); string s2 = "\\1,000\n\\20,000"; Console.WriteLine( s2 ); } } } |
2020/04/10 |
| p.371 | 第4章の解答「1」 | 2刷 |
| ②評価 ③文(ステートメント) | ②文(ステートメント)③評価 | 2020/04/10 |
| p.372 | 第4章の解答「4」 | 2刷 |
| 第4章の解答「4」 | 第5章の解答「4」 | 2020/04/10 |
| p.373 | 第5章の解答「3」のサンプルファイル名 | 2刷 |
| [サンプル]Practice5_1.cs | [サンプル]Practice5_2.cs | 2020/04/10 |
| p.373 | 第6章の解答「2」 | 2刷 |
| 「2」 | 不要 | 2020/04/13 |
| p.373 | 第6章の解答番号「3」 | 2刷 |
| 「3」 | 「2」 | 2020/04/13 |
| p.373 | 第6章の解答番号「4」「5」 | 2刷 |
| 「4」「5」 | 「3」「4」 | 2020/04/13 |
| p.374 | 【第1刷】第6章の解答「5」2行目 【第2刷】第6章の解答「4」2行目 | - |
| 静的なものを | 非静的なものを | 2020/04/13 |
| p.378 | 第8章の解答「4」のサンプルファイル名 | 2刷 |
| [サンプル]Practice8_4.cs | [サンプル]Practice8_3.cs | 2020/04/10 |
| p.379 | 第10章の解答「1」 | 2刷 |
| 解答⑥⑦がない | ⑥非許容参照型 ⑦null | 2020/04/13 |
| p.381 | 解答 5 [サンプル]Practice10_4.cs | 2刷 |
| readonly int Day; } |
readonly int Day; ...中略... } |
2020/04/30 |
| p.381 | 解答 6 [サンプル]Practice10_4.cs | 2刷 |
| public (string, int, int, int) GetOpening() { return (City, Year, Month, Day); } |
class Competition { ...中略... public (string, int, int, int) GetOpening() { return (City, Year, Month, Day); } } static void Main() { var os = new Competition(2020, 7, 24) { City = ""東京"" }; Console.WriteLine( os.GetOpening() ); // 出力値:(東京, 2020, 7, 24) } |
2020/04/30 |
| p.383 | 第12章の解答「3」のサンプルファイル名 | 2刷 |
| [サンプル]Practice12_3.cs | [サンプル]Practice12_2.cs | 2020/04/10 |
FAQ
現在、FAQはありません。
ダウンロード
お問い合わせ
書籍に関するご質問や誤りのご報告、ご意見・ご感想などをお寄せください。
お問い合わせの前にFAQ・正誤表をご確認ください。すでに掲載済みの内容については個別回答が難しい場合があります。