要旨(「BOOK」データベースより)
大好評ロングセラー「C#ポケットリファレンス」の第3版が登場。最新のVisual Studio 2022/C#12に対応しました。「逆引きだから目的別に知りたいことがすぐ探せる」「サンプルコードを見ながら具体的な実装をイメージできる」という特長はそのままに、従来のC#7まではもちろん、C#8~C#12の新機能をカバーして、よりいっそうパワーアップしました。ついつい忘れてしまいがちな書式から、今どきの開発に欠かせない新記法までをコンパクトにまとめ、数々のベストセラーを持つ山田祥寛氏が全面監修した、信頼の1冊です。
目次
■■Chapter 1 C#を始めるために
C# とは
■最初のC# プログラミング
「Visual Studio Community 2022」のインストールと起動
コンソールアプリケーションの作成と実行
■■Chapter 2 基本文法
■データ型
データ型の種類
■演算子
演算子
■基本構文
コメントを記述する
名前空間を定義する
名前空間を参照する
クラス名を省略して参照する
エイリアス(別名)を定義する
エイリアスとクラスを区別する
最上位レベルのステートメントを利用する
変数を宣言する
暗黙的型指定の変数を宣言する
定数を宣言する
読み取り専用のフィールドを宣言する
動的型付け変数を定義する
型を変換する
配列(1次元)を宣言する
配列に範囲アクセスする
多次元配列を宣言する
列挙型(enum)を定義する
処理を分岐する
処理を複数に分岐する
複数の条件で処理を分岐する
使用しない変数/引数を破棄する
複数の条件で値を返す
パターンマッチングでデータを識別する
処理をくり返す
処理をくり返す(ループ後に条件判定)
決まった回数の処理をくり返す
すべての要素を順番に参照する
無条件に制御を分岐する
複数のデータ型をまとめて定義する
■クラス
クラスを定義する
メソッドを定義する
イテレーターを使って反復処理を行う
非同期イテレーターで反復処理を行う
ローカル関数を定義する
静的ローカル関数を定義する
インスタンスを生成する
クラスのメンバにアクセスする
コンストラクタを定義する
プライマリコンストラクタを定義する [C# 12]
オブジェクト初期化子を利用する
インデックス初期化子を利用する
デストラクタを定義する
引数を参照渡しする
メソッドの結果を引数で受け取る
可変長引数を利用する
オプション引数/名前付き引数を定義する
参照による戻り値や変数を定義する
静的メンバを定義/利用する
演算子をオーバーロードする
インデクサを定義する
クラスを継承する
基本クラスのコンストラクタを実行する
クラスの継承を禁止する
オーバーライドを定義する
メンバを隠蔽する
アクセス制御する
プロパティを定義する
自動プロパティを定義する
抽象メソッド/クラスを定義する
オブジェクトが指定の型に変換可能かチェックする
is演算子で指定の型の変数を作成する
as演算子でオブジェクトを変換する
インタフェースを定義する
インタフェースの既定の動作を定義する
ジェネリックでクラス/メソッドを定義する
ジェネリックを制約つきで宣言する
ジェネリックの型を初期化する
クラス/メソッドを分割して定義する
構造体を定義する
メソッドのオーバーロード
レコード型を定義する
レコード型や構造体、匿名型を複製する [C# 10]
拡張メソッドを定義する
匿名型の変数を定義する
null許容型を宣言する
null許容参照型を宣言する
■デリゲートとイベント
デリゲートを定義する
匿名メソッドを定義する
ラムダ式を利用する
静的匿名関数/静的ラムダ式を定義する
クラスの定義でラムダ式を利用する
共変性/反変性の型パラメータを利用する
イベントを宣言する
async/awaitで非同期処理を定義する
例外処理を定義する
例外を任意に発生させる
条件で例外を捕捉する
usingを用いてリソースを破棄する
オーバーフローをチェックする
■■Chapter 3 基本データ型の操作
概要
■Object型
オブジェクトが等しいかどうかを判断する System.Object
オブジェクトの文字列表現を取得する System.Object
■数値型
文字列から数値に変換する System.Int32、Int64、Double、Decimalなど
■日時型
現在の日時情報を取得する System.DateTime
書式付きで文字列に変換する System.DateTime
文字列から日時型を作成する System.DateTime
日時情報を比較する System.DateTime
日時情報の加算/減算を行う System.DateTime、TimeSpan
カレンダーを取得する System.Globalization.Calendar
元号を表示する System.Globalization.JapaneseCalendar
日付のみ/時刻のみのデータを扱う [.NET 6] System.DateOnly / System.TimeOnly
■文字型
文字の種類を判定する System.Char
文字を大文字/小文字にする System.Char
■文字列型
文字列を連結する System.String
文字列の長さを取得する System.String、 System.Globalization.StringInfo
文字列から文字や部分文字列を取得する System.String
指定文字列を挟んで連結する System.String
文字列を分割する System.String
文字列を含むかどうかを判定する System.String
文字列を検索する System.String
先頭/末尾の文字列を検索する System.String
文字列を整形する System.String
文字列を比較する System.String
文字列を置換する System.String
文字列を挿入する System.String
文字列を削除する System.String
文字列が空かどうかを判定する System.String
左寄せ/右寄せする System.String
大文字化/小文字化する System.String
前後の空白を削除する System.String
■文字列バッファ
可変の文字列バッファを作成する System.StringBuilder
文字列バッファの末尾に追加する System.StringBuilder
文字列バッファに文字列を挿入する System.StringBuilder
文字列バッファの文字列を置換する System.StringBuilder
文字列バッファの文字列を削除する System.StringBuilder
文字列バッファの文字列の長さを取得/設定する System.StringBuilder
文字列バッファの指定位置の文字を取得/設定する System.StringBuilder
■エンコーディング
エンコーディングを変換する System.Text.Encoding
バイト列から文字列に変換する System.Text.Encoding
■正規表現
正規表現を作成する System.Text.RegularExpressions.Regex
正規表現で検索する System.Text.RegularExpressions.Regex、Match、MatchCollection
正規表現の検索オプションを指定する System.Text.RegularExpressions.Regex
正規表現のパターンをグループで指定する System.Text.RegularExpressions.Match、 GroupCollection、 Group
正規表現で文字列を置換する System.Text.RegularExpressions.Regex
■JSON入出力
オブジェクトをJSON 文字列に変換する System.Text.Json.JsonSerializer、System.Text.Json.JsonSerializerOptions、System.Text.Encodings.Web.JavaScriptEncoder、System.Text.Unicode.UnicodeRanges
JSON 文字列をオブジェクトに変換する System.Text.Json.JsonSerializer
■算術関数
絶対値を求める System.Math
三角関数を利用する System.Math
大小を比較する System.Math
切り捨て/切り上げ/四捨五入する System.Math
平方根/累乗を求める System.Math
指数/対数を利用する System.Math
■国際化
カルチャ情報を取得/生成する System.Globalization.CultureInfo
カルチャ情報をカスタマイズする System.Globalization.CultureInfo
■システムツール
システム一意のインデックスを取得する System.Guid
乱数を利用する System.Random
MD5 ハッシュを計算する System.Security.Cryptography.MD5CryptoServiceProvider
SHA-1、SHA-2 ハッシュを計算する System.Security.Cryptography.HMACSHA1
■環境情報
実行環境の環境変数を取得する System.Environment
実行環境の環境属性を取得する System.Environment、OperatingSystem、Version
レジストリの値を取得する Microsoft.Win32.Registry、RegistryKey
レジストリの値を設定/削除する Microsoft.Win32.RegistryKey、System.Security.AccessControl
■■Chapter 4 コレクション
概要
■共通機能
コレクションに要素を追加する System.Collections.Generic.ICollection
コレクションの要素を削除する System.Collections.Generic.ICollection
コレクションに要素が含まれているかどうかを判定する System.Collections.Generic.ICollection
コレクションの要素の数を取得する System.Collections.Generic.ICollection
コレクションを反復処理する System.Collections.Generic.ICollection、IEnumerable
コレクションを配列にコピーする System.Collections.Generic.ICollection
コレクションの要素が条件を満たすかどうかを判定する System.Linq.Enumerable
コレクションを連結する System.Linq.Enumerable
コレクションの重複を除去する System.Linq.Enumerable
2 つのコレクションの和集合/差集合/積集合を生成する System.Linq.Enumerable
コレクションの平均値/合計を計算する System.Linq.Enumerable
コレクションの最大値/最小値を取得する System.Linq.Enumerable
コレクションを条件でフィルタする System.Linq.Enumerable
コレクションの一部を取り出す(範囲アクセス) System.Range, System.Index
高速なデータ読み書きを行う System.Span、System.ReadOnlySpan、System.MemoryExtensions
■リスト
リストを生成する System.Collections.Generic.List
リストの指定位置の要素を取得/設定する System.Collections.Generic.List
リストの末尾に要素を追加する System.Collections.Generic.List
リストの指定位置に要素を挿入する System.Collections.Generic.List
リストの要素を削除する System.Collections.Generic.List
要素の位置を取得する System.Collections.Generic.List
リストを検索する System.Collections.Generic.List
別の型のリストに変換する System.Collections.Generic.List
リストの要素ごとに処理する System.Collections.Generic.List
リストを並べ替える System.Collections.Generic.List
■セット
セットを生成する System.Collections.Generic.HashSet
セットとコレクションとの関係を調べる System.Collections.Generic.HashSet
■ディクショナリ
ディクショナリを生成する System.Collections.Generic.Dictionary
ディクショナリにキーと値を追加する System.Collections.Generic.Dictionary
ディクショナリから値を取得する System.Collections.Generic.Dictionary
ディクショナリに指定したキー/値が含まれるかどうかを判定する System.Collections.Generic.Dictionary
キー/値のコレクションを取得する System.Collections.Generic.Dictionary
■キュー
キューを生成する System.Collections.Generic.Queue
キューの要素を追加/取得する System.Collections.Generic.Queue
■スタック
スタックを生成する System.Collections.Generic.Stack
スタックの要素を追加/取得する System.Collections.Generic.Stack
■■Chapter 5 入出力
概要
■ファイルシステム
ファイル情報/ディレクトリ情報オブジェクトを作成する System.IO.FileInfo、DirectoryInfo
ファイルを新規作成する System.IO.File、FileInfo
ファイルをコピーする System.IO.File、FileInfo
ファイルを削除する System.IO.File、FileInfo
ファイルを移動する System.IO.File、FileInfo
ディレクトリを作成する System.IO.Directory、DirectoryInfo
ディレクトリを削除する System.IO.Directory、DirectoryInfo
ディレクトリを移動する System.IO.Directory、DirectoryInfo
ファイル/ディレクトリの存在を確認する System.IO.File、Directory、FileInfo、DirectoryInfo
ファイル一覧を取得する System.IO.Directory、DirectoryInfo
ディレクトリ一覧を取得する System.IO.Directory、DirectoryInfo
ファイル/ディレクトリ一覧を高速に列挙する System.IO.Directory、DirectoryInfo
ファイル/ディレクトリの情報を取得/設定する System.IO.File、FileInfo、Directory、DirectoryInfo
ドライブの情報を取得する System.IO.DriveInfo
ファイルストリームを作成する System.IO.FileStream、File
■バイナリ入出力
メモリストリームを作成する System.IO.MemoryStream
ストリームから読み込む System.IO.Stream
ストリームに書き込む System.IO.Stream
ストリームをシークする System.IO.Stream
ストリームの情報を取得する System.IO.FileStream
ストリームをコピーする System.IO.FileStream
バイナリファイルの内容を一括で読み書きする System.IO.File
■テキスト入出力
ストリームのリーダー/ライターを作成する System.IO.StreamReader、StreamWriter、File
文字列のリーダー/ライターを作成する System.IO.StringReader、StringWriter
リーダーから読み込む System.IO.TextReader
ライターに書き込む System.IO.TextWriter
テキストファイルの内容を一括で読み書きする System.IO.File
テキストファイルの内容を行単位に読み込む System.IO.File
■TCP/IPネットワーク
TCPソケットで接続待ちする System.Net.Sockets.TcpListener
TCPソケットで接続する System.Net.Sockets.TcpClient
■HTTP通信
URIを処理する System.Uri
Webサーバーからデータをダウンロードする System.Net.WebClient
Webサーバーからテキストをダウンロードする System.Net.WebClient
クエリ文字列を設定する System.Net.WebClient、System.Collections.Specialized.NameValueCollection
Webサーバーからファイルをダウンロードする System.Net.WebClient
WebサーバーにPOST
内容紹介
C#プログラマ必携のロングセラー、「C#ポケットリファレンス」の第3版が登場! 前版の発売から7年が経ち、C#はWindowsのみならず様々なプラットフォームのアプリケーション開発で使われるようになりました。そんな最新の「C# 12」「.NET 8」「Visual Studio 2022」に合わせて内容をアップデート。「逆引きだから目的別にすぐ探せる」「サンプルコードで具体的にすぐイメージができる」「困ったときに、かゆいところに手が届くような使い心地」という特長はそのままに、エンティティ型についての大幅加筆など、「C# 8」以降の最新機能に対応しました。C#プログラマなら持っておきたい、現場で使える1冊です。
著者紹介(「BOOK著者紹介情報」より)(本データはこの書籍が刊行された当時に掲載されていたものです)
土井 毅(ドイ ツヨシ)
WINGSプロジェクト所属のテクニカルライター。@IT(アイティメディア社)、CodeZine(翔泳社)などのWebメディアを中心として、.NETなどのWeb系技術についての執筆を行っている。また、携帯アプリやソーシャルアプリなど、様々な分野での開発案件にも携わる
髙江 賢(タカエ ケン)
生粋の大阪人。プログラミング歴は四半世紀を超え、制御系から業務系、Web系と幾多の開発分野を経験。現在は、株式会社気象工学研究所に勤務し、気象や防災に関わるシステムの構築、保守に携わる。その傍ら、執筆コミュニティ「WINGSプロジェクト」のメンバーとして活動中
飯島 聡(イイジマ サトシ)
WINGSプロジェクト所属のテクニカルライター。東京都立大学院理学研究科数学専攻修士課程修了。2003年よりソフト開発会社でJavaやC#、VB.NETでパッケージソフト開発に従事。その後SI子会社でいくつかのシステム開発プロジェクトに従事などを経て、現在フリーランスエンジニアとしてC♯でWPFアプリケーションの開発等に従事
山田 祥寛(ヤマダ ヨシヒロ)
フリーライター。Microsoft MVP for Visual Studio and Development Technologies。執筆コミュニティ「WINGSプロジェクト」の代表でもある
著者について
WINGSプロジェクト 土井 毅 (ウイングスプロジェクト ドイ ツヨシ)
WINGS プロジェクト所属のテクニカルライター。@IT(アイティメディア社)、CodeZine(翔泳社)などのWeb メディアを中心として、.NET などのWeb 系技術についての執筆を行っている。また、携帯アプリやソーシャルアプリなど、様々な分野での開発案件にも携わる。主な著書:『基本から学ぶHTML5 + JavaScript iPhone/Android 対応 スマートフォンアプリの作り方』(共著、SB クリエイティブ)『TECHNICAL MASTER はじめてのASP.NET Web フォームアプリ開発 C# /Visual Basic 対応版』(秀和システム)など。
髙江 賢 (タカエ ケン)
生粋の大阪人。プログラミング歴は四半世紀を超え、制御系から業務系、Web 系と幾多の開発分野を経験。現在は、株式会社気象工学研究所に勤務し、気象や防災に関わるシステムの構築、保守に携わる。その傍ら、執筆コミュニティ「WINGS プロジェクト」のメンバーとして活動中。主な著書:『改訂3 版 Java ポケットリファレンス』『Apache ポケットリファレンス』『PHP ライブラリ&サンプル実践活用[ 厳選100]』(以上、技術評論社)『基礎からしっかり学ぶC# の教科書 第3 版 C# 10 対応』(日経BP 社)など。
飯島 聡 (イイジマ サトシ)
WINGS プロジェクト所属のテクニカルライター。東京都立大学院理学研究科数学専攻修士課程修了。2003 年よりソフト開発会社でJava やC#、VB.NET でパッケージソフト開発に従事。その後SI 子会社でいくつかのシステム開発プロジェクトに従事などを経て、現在フリーランスエンジニアとしてC# でWPFアプリケーションの開発等に従事。主な著書:『Windows 8 開発ポケットリファレンス』(共著、技術評論社)『はじめてのVisual Studio 2012』(共著、秀和システム)など。
山田 祥寛 (ヤマダ ヨシヒロ)
千葉県鎌ヶ谷市在住のフリーライター。Microsoft MVP for Visual Studio and Development Technologies。執筆コミュニティ「WINGS プロジェクト」の代表でもある。主な著書:『改訂3 版JavaScript 本格入門』『Angular アプリケーションプログラミング』(以上、技術評論社)『独習シリーズ(Java・C#・Python・PHP・Ruby・ASP.NET)』(翔泳社)『はじめての Android アプリ開発』(秀和システム)『書き込み式SQL のドリル 改訂新版』(日経BP 社)『速習シリーズ(React、Vue、TypeScript、ASP.NET Core、Laravel )』(Amazon Kindle)など。