PR

C#プログラミング学習におすすめ本・技術書10選【2023年版】

C#
この記事は約13分で読めます。
本ページはプロモーションが含まれています

C#学習におすすめの本をまとめました。

初心者向け

なるほどなっとくC#入門 (新・標準プログラマーズライブラリ) – 出井秀行

目次

C#プログラミングを始める前に
初めてのC#プログラミング
変数と変数の型
演算と演算子
条件に応じた処理
繰り返し処理
配列
クラス
オブジェクト指向プログラミングの基礎
静的メソッド
静的プロパティ
静的クラス
クラスを使いこなそう
クラスについて掘り下げる
値型と参照型
リストクラスとLINQ
継承
ポリモーフィズム
エラーへの対応

内容

プログラミングの知識・経験がなくてもC#の基本文法を身につけることができる入門書です。

「初心者に理解して身につけてほしい機能を厳選し、ポイントを絞る」「C#になぜその機能があるのか、どんな場面で使うのかという点も納得できる」という方針で解説されています。

やさしいC# 第3版 – 高橋 麻奈

やさしいC# 第3版 [ 高橋 麻奈 ]
楽天ブックス
¥ 2,838(2024/12/31 21:15時点)

目次

Lesson1 はじめの一歩
1.1 C#のプログラム
1.2 コードの入力
1.3 プログラムの作成
1.4 プログラムの実行
1.5 レッスンのまとめ

Lesson2 C#の基本
2.1 コンソールへの出力
2.2 フォーム
2.3 文字と画像
2.4 レッスンのまとめ

Lesson3 型と演算子
3.1 代入
3.2 型と変数
3.3 演算子
3.4 レッスンのまとめ

Lesson4 処理の制御
4.1 条件分岐
4.2 繰り返し
4.3 配列
4.4 配列の応用
4.5 レッスンのまとめ

Lesson5 クラス
5.1 クラスの設計
5.2 アクセスの制限
5.3 静的メンバ
5.4 新しいクラス
5.5 クラスライブラリ
5.6 レッスンのまとめ

Lesson6 イベント
6.1 イベントの基本
6.2 いろいろなイベント
6.3 レッスンのまとめ

Lesson7 コントロール
7.1 パネル
7.2 ラベル
7.3 ボタン
7.4 テキストボックスとリストボックス
7.5 メニュー
7.6 ダイアログ
7.7 レッスンのまとめ

Lesson8 グラフィック
8.1 グラフィックの基本
8.2 グラフィックの応用
8.3 数学関連クラス
8.4 タイマー
8.5 レッスンのまとめ

Lesson9 ゲーム
9.1 ゲームへの応用
9.2 ゲームとアルゴリズム
9.3 レッスンのまとめ

Lesson10 ファイル
10.1 ファイル情報
10.2 テキストファイル
10.3 バイナリファイル
10.4 各種ファイルの扱い
10.5 ファイルの応用と正規表現
10.6 レッスンのまとめ

Lesson11 ネットワーク
11.1 ネットワークの基本
11.2 Web
11.3 TCP
11.4 スレッド
11.5 レッスンのまとめ

Lesson12 データの利用
12.1 LINQ
12.2 XMLとLINQ
12.3 レッスンのまとめ

Lesson13 アプリケーションの作成
13.1 プログラムの設計
13.2 データ・機能の設計
13.3 コードの作成
13.4 レッスンのまとめ

AppendixA 練習の解答
AppendixB Quick Reference

内容

C#はシステムの開発からゲームプログラミングまで、さまざまに利用されているプログラミング言語です。その基本文法からゲーム作り、アプリ作りまで、豊富なサンプルプログラムを使って、とことん丁寧に解説していますので、プログラミングがはじめての人でもしっかり習得できます。

C#の最新バージョンや、Visual Studio 2019に対応しています。

やさしいC# 第3版 [ 高橋 麻奈 ]
楽天ブックス
¥ 2,838(2024/12/31 21:15時点)

中級者向け

実戦で役立つC#プログラミングのイディオム/定石&パターン – 出井秀行

目次

1 C#プログラミングのイディオム/定石&パターン 準備編(オブジェクト指向プログラミングの基礎/C#でプログラムを書いてみよう ほか)
2 C#プログラミングのイディオム/定石&パターン 基礎編(基本イディオム/文字列の操作 ほか)
3 C#プログラミングのイディオム/定石&パターン 実践編(ファイルの操作/正規表現を使った高度な文字列処理 ほか)
4 C#プログラミングのイディオム/定石&パターン ステップアップ編(LINQを使いこなす/非同期/並列プログラミング ほか)

内容

C#のプログラムを作成するには、解こうとする問題の手順と利用するデータ構造を考え、それをC#のコードとして記述するスキルが必要になってきますが、そういったスキルは、現場で利用されているイディオムや定石といったパターンを学習することで得られます。

「パターン」を自分の中に叩き込むことが上達の早道なのです。また、さらには、実際に自分でプログラムを書いてみることも必要。本書には章ごとに練習問題も用意されていますので、実地に自分で書くことにより、確固としたプログラミングの力を身につけてください。

C#コードレシピ集 – 出井秀行

C#コードレシピ集 [ 出井秀行 ]
楽天ブックス
¥ 3,608(2025/01/01 23:10時点)

目次

基本文法
数値演算
文字列処理
日付時刻処理
コレクション
クラスと構造体の基礎
列挙型
nullを扱う
LINQ
例外処理と後処理
より高度なクラスの定義
ジェネリックとインターフェイス
よりスマートにコードを書く
並列処理と非同期処理
リフレクション
正規表現
ファイルとディレクトリ
Zipファイル
ロギング
Entity Framework Core
ネットワーク
暗号化
ExcelとWord
単体テスト
落穂拾い

内容

C#を使いこなすための、究極のレシピ集。基礎から高度な文法、開発現場で使えるテクニックまで余すところなく集めました。

「どんなコードを書けば思い通りに動くんだろう?」がスグに解決。駆け出しエンジニアから中級者まで、C#を使うすべての方にお届けします。C# 9.0、.NET 5.0対応。

C#コードレシピ集 [ 出井秀行 ]
楽天ブックス
¥ 3,608(2025/01/01 23:10時点)

.NETのクラスライブラリ設計 改訂新版 開発チーム直伝の設計原則、コーディング標準、パターン – Krzysztof Cwalina

目次

第1章 イントロダクション
第2章 フレームワーク設計の基礎
第3章 命名に関するガイドライン
第4章 型の設計のガイドライン
第5章 メンバーの設計
第6章 拡張性を考慮した設計
第7章 例外
第8章 使用法に関するガイドライン
第9章 共通のデザインパターン
付録A C#コーディングスタイル規約
付録B 廃止されたガイダンス
付録C API仕様書のサンプル
付録D 破壊的変更(breaking changes)
付録E 日本語版特別付録 訳者・監訳者による雑感

内容

“Framework Design Guidelines: Conventions, Idioms, and Patterns for Reusable .NET Libraries, 3rd Edition”(Addison-Wesley Professional、2020年)の日本語訳で、前回の版から12年ぶりの改訂版となります。

Microsoftで.NET Frameworkの開発チームのエンジニアが、巨大なクラスライブラリを含むフレームワークである.NET Frameworkを実際に開発する中で蓄積したルールとパターンを、.NET開発全般のガイドラインとしてまとめあげたものです。各ガイドラインは強さに応じて「Do(する)」「Consider(考慮する/検討する)」「Avoid(避ける)」「Don’t(してはならない)」の4つのアイコンで示されています。また、単にガイドラインを示すだけでなく、その背景(過去の経緯や設計思想)やトレードオフ、場合によってはガイドラインへの批判的な意見も説明、補足しています。コードサンプルはC#で書かれていますが、内容はすべての.NET言語に適用できるものです。

今回の改訂では.NET Coreを含む.NET全般に対応するほか、バージョン間の互換性に関わる「破壊的変更(breaking changes)」と、本書の旧版では推奨されていて今回の版で非推奨となったガイダンスをまとめた「廃止されたガイダンス」の2つの章(付録)を追加しました。また、日本語版では独自に、本書のガイドラインについて訳者と監訳者が日本の開発者として意見を交わしたディスカッションの内容も収録しました。

ASP.NET Core

C#フレームワーク ASP.NET Core入門 .NET 7対応 – 掌田津耶乃

目次

1 ASP.NET Coreの環境構築
2 Razorページアプリケーションの作成
3 MVCアプリケーションの作成
4 Blazorアプリケーションの作成
5 Entity Frameworkによるデータベースアクセス
6 データベースを使いこなす
7 その他の機能

内容

初心者向けに、ASP.NET Core+C#によるWeb開発の基本をわかりやすく解説した入門書です。最新の.NET 7に対応し、標準的なMVC開発から、最新のSPA対応Razorページ、フロントエンドまでC#で開発するBlazorなど、最新技術が無料で使えます! サンプルコード・プロジェクトのダウンロードサービス付き。

.NET MAUI

.NET MAUIによるマルチプラットフォームアプリ開発 iOS、Android、Windows、macOS対応アプリをC#で開発 – 増田 智明

目次

はじめに
第1章 .NET MAUIの仕組み
第2章 .NET MAUIの開発環境
第3章 最初の.NET MAUIアプリケーション
第4章 画面の部品
第5章 データバインド
第6章 コードでUI作成
第7章 画面の遷移
第8章 Web APIの利用
第9章 データベースの利用
第10章 ファイルの操作
第11章 加速度やGPSの利用
第12章 ロジック分割とテスト
付録A 他のフレームワークとの比較
付録B Xamarin.Formsから.NET MAUIへの移行
索引

内容

.NET 6から使用可能になった .NET MAUI(Multi-platform App UI)は、従来のXamarin.Formsの後継となるマルチプラットフォームアプリを開発するためのフレームワークで、Android/iOS/Windows/macOS対応のアプリをC#を使って開発できます。 従来のXamarin.Formsでは、 .NET Standardという機能限定版のクラスライブラリしか使用できませんでしが、 .NET MAUIでは、 .NET 6で使用可能な完全なクラスライブラリが使用できるようになりました。 さらに、これまでは開発できなかったmacOSのアプリも開発できるようになりました。

良いコードを書くためにおすすめな本

リーダブルコード より良いコードを書くためのシンプルで実践的なテクニック – ダスティン・ボズウェル

目次

理解しやすいコード
第1部 表面上の改善(名前に情報を詰め込む/誤解されない名前/美しさ/コメントすべきことを知る/コメントは正確で簡潔に)
第2部 ループとロジックの単純化(制御フローを読みやすくする/巨大な式を分割する/変数と読みやすさ)
第3部 コードの再構成(無関係の下位問題を抽出する/一度に1つのことを/コードに思いを込める/短いコードを書く)
第4部 選抜テーマ(テストと読みやすさ/「分/時間カウンタ」を設計・実装する)
付録 あわせて読みたい

内容

コードは理解しやすくなければならない。本書はこの原則を日々のコーディングの様々な場面に当てはめる方法を紹介する。名前の付け方、コメントの書き方など表面上の改善について。コードを動かすための制御フロー、論理式、変数などループとロジックについて。またコードを再構成するための方法。さらにテストの書き方などについて、楽しいイラストと共に説明する。

日本語版ではRubyやgroongaのコミッタとしても著名な須藤功平氏による解説を収録。

良いコード/悪いコードで学ぶ設計入門 – 仙塲 大也

目次

悪しき構造の弊害を知覚する
設計の初歩
クラス設計ーすべてにつながる設計の基盤
不変の活用ー安定動作を構築する
低凝集ーバラバラになったモノたち
条件分岐ー迷宮化した分岐処理を解きほぐす技法
コレクションーネストを解消する構造化技法
密結合ー絡まって解きほぐせない構造
設計の健全性をそこなうさまざまな悪魔たち
名前設計ーあるべき構造を見破る名前
コメントー保守と変更の正確性を高める書き方
メソッド(関数)-良きクラスには良きメソッドあり
モデリングークラス設計の土台
リファクタリングー既存コードを成長に導く技
設計の意義と設計への向き合い方
設計を妨げる開発プロセスとの戦い
設計技術の理解の深め方

内容

「ITエンジニア本大賞2023」技術書部門で大賞受賞!
本書は、より成長させやすいコードの書き方と設計を学ぶ入門書です。

システム開発では、ソフトウェアの変更が難しくなる事態が頻発します。
コードの可読性が低く調査に時間がかかる、
コードの影響範囲が不明で変更すると動かなくなる、
新機能を追加したいがどこに実装すればいいかわからない……。

変更しづらいコードは、成長できないコードです。
ビジネスの進化への追随や、機能の改善が難しくなります。

成長できないコードの問題を、設計で解決します。

現場で役立つシステム設計の原則 変更を楽で安全にするオブジェクト指向の実践技法 – 増田亨

目次

1 小さくまとめてわかりやすくする
2 場合分けのロジックを整理する
3 業務ロジックをわかりやすく整理する
4 ドメインモデルの考え方で設計する
5 アプリケーション機能を組み立てる
6 データベースの設計とドメインオブジェクト
7 画面とドメインオブジェクトの設計を連動させる
8 アプリケーション間の連携
9 オブジェクト指向の開発プロセス
10 オブジェクト指向設計の学び方と教え方

内容

「ソースがごちゃごちゃしていて、どこに何が書いてあるのか理解するまでがたいへん」「1つの修正のために、あっちもこっちも書きなおす必要がある」「ちょっとした変更のはずが、本来はありえない場所にまで影響して、大幅なやり直しになってしまった」といったトラブルが起こるのは、ソフトウェアの設計に問題があるから。日本最大級となる60万件以上の求人情報サイト「イーキャリアJobSearch」の主任設計者であり、システム設計のベテランである著者が、コードの具体例を示しながら、良い設計のやり方と考え方を解説します。