パーフェクト C# [改訂 4 版]
パーフェクトシーシャアプカイテイヨンハン
- 著者:
- 斎藤友男、市井文弥(サイトウトモオ イチイフミヤ)
- 注目:
- 総合 744 位
- 出版社:
- 技術評論社
- 出版日:
- 2021年07月16日頃
- ISBN:
- 9784297121990
- 在庫:
- 在庫あり
なぜ注目されているか
書籍紹介
最新のバージョン (C# 8.0 / Visual Studio 2019) に対応した「パーフェクト C#」の改訂 4 版になります。近年, Visual Studio は mac 版の登場もあり, Windows、mac OS、Linux などの OS を意識しない開発やクラウドベースの開発へと移行しています。そこで本書も, 従来のアプリ開発とは別に、.NET Core をベースとしたクロスプラットフォーム開発などの最新の開発事情も解説してます。
■■Part1 C#〜overview
■1 章 .NET Fremework 4.8 / .NET 5
1-1 .NET Framework とは
1-2 共通言語ランタイム (CLR)
1-3 DLR
1-4 .NET Framework
1-5 Microsoft Visual Studio
1-6 .NET 5
1-7 C#
■2 章 共通型システム (CTS)
2-1 共通型システム (CTS) とは
2-2 型変換
2-3 型クラス (Type)
■■Part2 C# 言語仕様
■3 章 C# の基本
3-1 C# 言語の基本構文
3-2 変数と配列
3-3 制御文
■4 章 基本データ型と演算子
4-1 基本データ型
4-2 演算子
■5 章 型とメンバ
5-1 名前空間と型
5-2 型とメンバ
5-3 メンバアクセス
■6 章 クラス
6-1 クラスの定義
6-2 クラスの生成
6-3 継承とポリモフィズム
6-4 フィールド
6-5 定数
6-6 コンストラクタ
6-7 デストラクタ
6-8 メソッド
6-9 プロパティ
6-10 演算子
6-11 インデクサ
6-12 イベント
■7 章 クラス以外の型
7-1 構造体
7-2 タプル型
7-3 インターフェイス
7-4 列挙型
7-5 デリゲート
■8 章 ジェネリック
8-1 ジェネリックとは
8-2 標準的なジェネリッククラスとジェネリック構造体
8-3 ジェネリックの共変性と反変性
■9 章 特別な例外処理
9-1 イテレータ
9-2 例外処理
9-3 並列処理
■10 章 LINQ
10-1 LINQ とは
10-2 クエリ式
10-3 LINQ to SQL
10-4 LINQ to DataSet
10-5 LINQ to Objects
10-6 LINQ to XML
10-7 PLINQ (Parallel LINQ)
■11 章 特殊な言語仕様
11-1 dynamic 型
11-2 アンセーフコード
11-3 属性
11-4 プリプロセッサディレクティブ
■■Part3 デスクトップアプリケーション開発
■12 章 WPF (基本)
12-1 WPF とは
12-2 XAML
12-3 WPF アプリケーション
■13 章 WPF (応用)
13-1 コントロール
13-2 イベント
13-3 データバインディング
■■Part4 Web アプリケーション開発
■14 章 ASP.NET Web フォーム (基本)
14-1 ASP.NET Web フォームとは
14-2 アプリケーションモデル
14-3 画面遷移とデータの受け渡し
14-4 状態管理
■15 章 ASP.NET Web フォーム (応用)
15-1 サーバコントロール
15-2 データバインディング
■16 章 ASP.NET MVC / ASP.NET Core MVC (基本)
16-1 ASP.NET MVC とは
16-2 URL ルーティングとコントローラー
16-3 ビューエンジン
16-4 コントローラとビュー
16-5 コントローラとビュー間でのデータの受け渡し
■17 章 ASP.NET MVC / ASP.NET Core MVC (応用)
17-1 HTML ヘルパー
17-2 レイアウト
17-3 モデルバインディングと入力検証
■■Part5 テストコード
■18 章 MSTest によるユニットテスト
18-1 MSTest とは
18-2 ユニットテストプロジェクト
■19 章 MSTest によるユニットテストコードの実装
19-1 テストクラス
19-2 テストメソッド
19-3 テストクラス、テストメソッドをサポートする属性
19-4 結果の検証とアサーション
技書の森解説
『パーフェクト C# 改訂 4 版』 (斎藤 友男、市井 文弥 著、技術評論社、2021 年 7 月刊) は、C# の言語仕様を土台に、.NET の実行基盤、デスクトップと Web のアプリケーション開発、テストコードまでを 1 冊で見渡せる書籍です。版元の概要によれば C# 8.0 と Visual Studio 2019 に対応した改訂 4 版で、従来のアプリ開発に加えて .NET Core をベースとしたクロスプラットフォーム開発の事情も解説しています。版元は「新たに.NET Framework 開発を学んでみたい人」を読者の 1 つに挙げ、.NET Framework 4.8 と .NET 5 を学ぶ人にも向けています。
全 5 部 19 章、.NET の仕組みから MSTest のテストまで
目次は 5 つの部に分かれます。Part 1「C#〜overview」は第 1 章で .NET Framework 4.8 と .NET 5、共通言語ランタイム (CLR)、DLR、Visual Studio を、第 2 章で共通型システム (CTS) と型変換を扱います。Part 2「C# 言語仕様」は第 3 章から第 11 章までで、基本構文と変数、基本データ型と演算子、型とメンバ、クラス、構造体やタプル型やデリゲートなどのクラス以外の型、ジェネリック、イテレーターと例外処理と並列処理、LINQ、dynamic 型やアンセーフコードや属性を含む特殊な言語仕様へと進みます。Part 3 は第 12 章と第 13 章で WPF の基本と応用、Part 4 は第 14 章から第 17 章で ASP.NET Web フォームと ASP.NET MVC / ASP.NET Core MVC を、基本と応用の 2 章ずつで扱います。Part 5「テストコード」は第 18 章と第 19 章で、MSTest によるユニットテストのプロジェクト作成からテストクラス、テストメソッド、アサーションまでを解説します。
言語だけでなく .NET の実行基盤から理解する意味
C# は単体で動く言語ではなく、ソースコードは中間言語にコンパイルされ、共通言語ランタイムがそれを実行します。値型と参照型の区別、ボックス化、型変換の規則といった C# のふるまいの多くは、共通型システムの側で決まっています。言語の章に入る前に実行基盤と型システムを置く本書の並びは、文法を暗記するより、なぜその書き方になるのかを基盤の側から説明できるようになりたい人に合っています。言語仕様の章でも、型を引数にとって再利用できるコードを書く ジェネリクス の共変性と反変性や、クエリ式から PLINQ までを扱う LINQ のように、中級以降でつまずきやすい題材が節として立てられています。
.NET Framework 4.8 と .NET 5 の時期を前提にした読み方
.NET には、Windows 向けに長く使われてきた .NET Framework と、クロスプラットフォームで動く .NET Core の 2 つの系統があります。Microsoft の .NET 5 の案内では、.NET 5 は .NET Core 3.1 に続くメジャーリリースで、今後の .NET の主要な実装であることを示すために名前から Core が外されたと説明されています。本書はこの切り替わりの時期に、C# 8.0 と Visual Studio 2019 を対象として書かれています。同じ案内では Web Forms は .NET 5 へ移植する予定がない技術とされ、代替に ASP.NET Core Blazor または Razor Pages が挙げられています。そのため Web フォームの章は既存の資産を保守する人の読みどころになり、新規開発では ASP.NET Core MVC の章が中心になります。また .NET 5 は C# 9 と組になっており、レコードのように C# 9 で加わった構文は C# 8.0 を対応に掲げる本書の範囲の外にあるので、それらは Microsoft の公式ドキュメントで補う前提で読むのが現実的です。
プログラミングそのものが初めての人には、最初の 1 冊としては範囲が広すぎます。変数や制御文を一通り書ける状態を プログラミング言語の入門書 で作ってから手に取るほうが、各章の説明を活かせます。逆に、入門書を終えて C# を業務で使い始めた人、.NET Framework の既存アプリを抱えながら .NET 5 以降への移行も視野に入れている人、WPF や ASP.NET を書く前に言語仕様の土台を固めたい人には、言語から実行基盤、アプリの種類、テストまでを 1 冊で引ける本書は手元に置く価値があります。テストの考え方を広げたくなったら テスト技術書の選び方 も合わせて見ておくと、第 18 章と第 19 章の MSTest の知識を設計の側へつなげられます。
この本に興味がある方におすすめ
関連する本
関連記事
体系的に学ぶ 安全な Web アプリケーションの作り方 第 2 版は初版と何が違うか - 買い直し判断ガイド
通称「徳丸本」こと体系的に学ぶ 安全な Web アプリケーションの作り方 第 2 版 (2018 年) と初版 (2011 年) の違いを出版社公表の改訂内容から整理。章の削除 / 新設 / 追加点の一覧と、初版所有者が買い直すべきかの判断基準を解説します。
テスト本ガイド - テスト設計を学べる技術書の選び方
テストの書き方からテスト戦略まで学べる技術書の選び方を紹介。テストピラミッド、TDD の正しい読み方、テストの ROI の考え方を解説します。
OS / 低レイヤー本ガイド - コンピューターの仕組みを学ぶ技術書の選び方
OS、コンパイラー、ネットワークなど低レイヤーを学べる技術書の 4 ジャンルと、どこから始めるべきかの指針、賞味期限の見極め方を紹介します。
関連用語
抽象クラス
直接インスタンス化できず、サブクラスに共通のインターフェースと部分的な実装を提供するクラス
Template Method パターン
アルゴリズムの骨格を親クラスで定義し、具体的なステップをサブクラスに委ねるデザインパターン
C#
Microsoft が開発した静的型付けのオブジェクト指向言語。.NET 上で幅広い開発に使える
インターフェース分離の原則
SOLID の I - クライアントが使わないメソッドへの依存を強制しない原則
制御の反転 (IoC) とは - DI との関係とフレームワーク設計の原則
制御の反転はフレームワークがアプリケーションコードを呼び出す設計原則。依存性注入 (DI) との関係 / Hollywood 原則 / IoC コンテナの落とし穴と Lambda での実例を解説
テスト戦略
プロジェクトのテスト種類、範囲、自動化レベルを体系的に定義する計画