現場ですぐに使える! Visual C# 2022逆引き大全 500の極意

書籍情報

発売日 : 2022年06月29日

著者/編集 : 増田智明

出版社 : 秀和システム

発行形態 : 単行本

書籍説明

内容紹介

そのまま流用できる豊富なサンプルプログラムを収録!アプリケーション開発に必要な知識をコンパクトに解説!基礎から便利技までコーディングテクニックが満載!71の分類で目的のクラス、メソッドがすぐに探せる!

目次

第1部 スタンダード・プログラミングの極意

 第1章 Visual C# 2022の基礎
  1-1 基本動作
   1 Visual C#とは
   2 Visual Studioとは
   3 Visual Studio 2022をインストールする
   4 .NETとは
   5 名前空間とは
   6 Visual C# 2022プログラムの開発手順
  1-2 基本用語
   7 ソリューション、プロジェクトとは
   8 クラス、オブジェクトとは
   9 プロパティとは
   10 メソッドとは
   11 イベントとは
  1-3 IDE
   12 IDE(統合開発環境)の画面構成
   13 ドキュメントウィンドウを並べて表示する/非表示を切り替える
   14 ドキュメントウィンドウの表示倍率を変更する/非表示を切り替える
   15 効率よくコードを入力する
   16 スクロールバーを有効に使う
   17 クイック起動を利用する
   18 コード入力中に発生したエラーに対処する
   19 プロジェクト実行中に発生したエラーに対処する
   20 わからないことを調べる

 第2章 プロジェクト作成の極意
  2-1 プロジェクト
   21 プロジェクトを新規作成する
   22 プロジェクトを保存する
   23 プロジェクトを実行する
   24 ソリューションとプロジェクトのファイル構成
   25 プロジェクトを開く/閉じる
   26 プログラム起動時に開く
   27 プログラム起動時に実行する処理を指定する
   28 実行可能ファイルを作成する
   29 プロジェクトを追加する
   30 NuGetパッケージを追加する
   31 プロジェクトにリソースを追加する
   32 アプリケーションを配置する
  2-2 dotnetコマンド
   33 dotnetコマンドでプロジェクトを作成する
   34 dotnetコマンドでプロジェクトを実行する
   35 dotnetコマンドでプロジェクトをビルドする

 第3章 ユーザーインターフェイスの極意
  3-1 フォーム
   36 フォームのアイコンとタイトル文字を変更する
   37 フォームのサイズを変更できないようにする
   38 最大化/最小化ボタンを非表示にする
   39 ヘルプボタンを表示する
   40 フォームを表示する/閉じる
   41 フォームの表示位置を指定する
   42 デフォルトボタン/キャンセルボタンを設定する
   43 フォームを半透明にする
   44 情報ボックスを使う
   45 スプラッシュウィンドウ(タイトル画面)を表示する
  3-2 基本コントロール
   46 任意の位置に文字列を表示する
   47 ボタンを使う
   48 テキストボックスで文字の入力を取得する
   49 テキストボックスに複数行入力できるようにする
   50 パスワードを入力できるようにする
   51 入力する文字の種類を指定する
   52 テキストボックスを読み取り専用にする
   53 入力できる文字数を制限する
   54 テキストボックスに指定した形式でデータを入力する
  3-3 選択コントロール
   55 複数選択できる選択肢を設ける
   56 1つだけ選択できる選択肢を設ける
   57 ラジオボタンのリストをスクロールする
   58 グループごとに1つだけ選択できるようにする
   59 リストボックスに項目を追加する(デザイン時)
   60 リストボックスに項目を追加/ 削除する(実行時)
   61 リストボックスに順番を指定して項目を追加する
   62 リストボックスで項目を選択し、その項目を取得する
   63 リストボックスで複数選択された項目を取得する
   64 チェックボックス付きリストボックスを使う
   65 コンボボックスを使う
   66 クリックすると表示ページが切り替わるタブを使う
  3-4 その他のコントロール
   67 ピクチャーボックスに画像を表示/非表示にする
   68 カレンダーを利用して日付を選択できるようにする/非表示にする
   69 日付範囲を選択できるカレンダーを使う
   70 メニューバーを作る
   71 メニューコマンドを無効にする
   72 メニューコマンドにチェックマークを付ける
   73 メニューにショートカットキーを割り当てる
   74 ショートカットメニューを付ける
   75 ツールバーを作る
   76 ステータスバーを作る
   77 プログレスバーで進行状態を表示する
   78 階層構造を表示する
   79 リストビューにファイル一覧を表示する
   80 リストビューに画像一覧を表示する
   81 リッチテキストボックスのフォントと色を設定する
   82 リッチテキストボックスの文字を検出する
   83 スピンボタンで数値を入力できるようにする
   84 ドラッグで数値を変更できるようにする
   85 フォームにWebページを表示する
  3-5 配置
   86 コントロールを非表示にする
   87 フォームのコントロールの大きさをフォームに合わせる
   88 フォームの端からの距離を一定にする
   89 コントロールをポイントしたときにヒントテキストを表示する
   90 フォーカスの移動順を設定する
   3-6 ダイアログ
   91 ファイルを開くダイアログボックスを表示する
   92 名前を付けて保存するダイアログボックスを表示する
   93 フォントを設定するダイアログボックスを表示する
   94 色を設定するダイアログボックスを表示する
   95 フォルダーを選択するダイアログボックスを表示する

 第4章 基本プログラミングの極意
  4-1 基礎
   96 コードにコメントを入力する
   97 C#のデータ型とは
   98 変数を使う
   99 リテラル値のデータ型を指定する
   100 値型と参照型とは
   101 定数を使う
   102 列挙型を定義する
   103 データ型を変換する
   104 文字列から数値データに変換する
   105 数値を文字列に変換する
   106 文字列の途中に改行やタブなどを挿入する
   107 文字列をそのまま利用する
   108 文字列に変数を含める
   109 dynamic型を使う
  4-2 演算
   110 null許容値型を使う
   111 タプルを使う
   112 レコード型を使う
   113 加減乗除などの計算をする
   114 演算子を使って比較や論理演算を行う
   115 複数の条件を判断する
   116 オブジェクトが指定した型にキャスト可能か調べる
   117 Null値を変換する
  4-3 日付と時刻
   118 現在の日付と時刻を取得する
   119 日付要素を取得する
   120 時刻要素を取得する
   121 曜日を取得する
   122 一定期間前や後の日付/時刻を求める
   123 2つの日時の間隔を求める
   124 任意の日付を作る
   125 協定世界時(UTC)を扱う
   126 日付文字列を日付データにする
   127 日付データを日付文字列にする
  4-4 制御構造
   128 条件を満たしている場合に処理を行う
   129 式の結果に応じて処理を分岐する
   130 条件に応じて値を返す
   131 指定した回数だけ処理を繰り返す
   132 条件が成立する間、処理を繰り返す
   133 条件式の結果にかかわらず一度は繰り返し処理を行う
   134 コレクションまたは配列に対して処理を繰り返す
   135 ループの途中で処理を先頭に戻す
  4-5 配列
   136 配列を使う
   137 配列の宣言時に値を代入する
   138 配列の要素数を求める
   139 配列の要素を並べ替える
   140 配列をクリアする
   141 配列をコピーする
   142 サイズが動的に変化するリストを使う
   143 リストを初期化する
  4-6 コレクション
   144 リストに追加する
   145 リストを削除する
   146 リストをコピーする
   147 リストの要素にオブジェクトを使う
   148 リストの要素に別のリストを使う
   149 キーと値がペアのコレクションを作る
   150 キーと値のペアを追加する
   151 キーを指定して値を探す
   152 キーの一覧を取得する
  4-7 メソッド
   153 値渡しで値を受け取るメソッドを作る
   154 値を返すメソッドを作る
   155 値を返さないメソッドを作る
   156 参照渡しで値を受け取るメソッドを作る(out)
   157 参照渡しで値を受け取るメソッドを作る(ref)
   158 配列やコレクションの受け渡しをするメソッドを作る
   159 引数の数が可変のメソッドを作る
   160 名前が同じで引数のパターンが異なるメソッドを作る
   161 イベントハンドラーをラムダ式で置き換える
   162 引数のあるラムダ式を使う
   163 ラムダ式を再利用する
   164 メソッド内の関数を定義する
  4-8 クラス
   165 クラスを作成(定義)する
   166 クラスのコンストラクターを作る
   167 クラスのプロパティを定義する
   168 クラスのメソッドを定義する
   169 クラスのイベントを定義する
   170 定義したイベントのイベントハンドラーを作る
   171 オブジェクト生成時にプロパティの値を代入する
   172 クラスを継承する
   173 基本クラスのメソッドやプロパティを派生クラスで再定義する
   174 型情報を引数にできるクラスを作る
   175 クラスに固有のメソッドを作る
   176 拡張メソッドを使う
   177 拡張メソッドを作る
   178 インターフェイスを利用する
   179 クラスを継承不可にする
  4-9 構造体
   180 複数のファイルにクラス定義を分ける
   181 構造体を定義して使う
   182 構造体配列を宣言して使う
   183 構造体を受け取るメソッドを作る
   184 構造体を返すメソッドを作る
  4-10 非同期
   185 タスクを作る
   186 タスクを作成して実行する
   187 戻り値を持つタスクを作る
   188 タスクの完了を待つ
   189 複数のタスクの実行を待つ
   190 非同期メソッドを呼び出す
   191 タスクの終了時に実行を継続する
   192 スレッドを切り替えてUIを変更する
   193 一定時間停止する
   194 イベントが発生するまで停止する
   195 タスクの実行をキャンセルする

 第5章 文字列操作の極意
  5-1 文字列操作
   196 文字コードを取得する
   197 文字列の長さを求める
   198 英小(大)文字を英大(小)文字に変換する
   199 指定位置から指定文字数分の文字を取得する
   200 文字列内に指定した文字列が存在するか調べる
   201 文字列内から指定した文字列の位置を検索する
   202 2つの文字列の大小を比較する
   203 文字列内の指定文字を別の文字に置き換える
   204 文字列が指定文字列で始まって(終わって)いるか調べる
   205 文字列の前後のスペースを削除する
   206 文字列内から指定位置の文字を削除する
   207 文字列内に別の文字列を挿入する
   208 文字列が指定した文字数になるまでスペースを入れる
   209 文字列を指定した区切り文字で分割する
   210 文字列配列の各要素を連結する
   211 シフトJISコードに変換する
  5-2 正規表現
   212 正規表現でマッチした文字列が存在するか調べる
   213 正規表現でマッチした文字列を別の文字列に置き換える
   214 正規表現で先頭や末尾の文字列を調べる
   215 正規表現でマッチした複数の文字列を取得する

 第6章 ファイル、フォルダー操作の極意
  6-1 ファイル、フォルダー操作
   216 ファイル、フォルダーの存在を確認する
   217 ファイル、フォルダーを削除する
   218 ファイル、フォルダーを移動する
   219 ファイルをコピーする
   220 ファイル、フォルダーの作成日時を取得する
   221 カレントフォルダーを取得/設定する
   222 アセンブリのあるフォルダーを取得する
   223 フォルダーを作る
   224 フォルダー内のすべてのファイルを取得する
   225 パスのファイル名/フォルダー名を取得する
   226 ファイルの属性を取得する
   227 ドキュメントフォルダーの場所を取得する
  6-2 テキストファイル操作
   228 テキストファイルを開く/閉じる
   229 テキストファイルから1行ずつ読み込む
   230 テキストファイルから1文字ずつ読み込む
   231 テキストファイルの内容を一度に読み込む
   232 テキストファイルを作る
   233 テキストファイルの末尾に書き込む
   234 バイナリデータをファイルに書き出す
   235 JSON形式でファイルに書き出す

 第7章 エラー処理の極意
  7-1 構造化例外処理
   236 構造化例外処理とは
   237 すべての例外に対処する
   238 例外発生の有無にかかわらず、必ず後処理を行う
   239 例外のメッセージを取得する
   240 無効なメソッドの呼び出しの例外をとらえる
   241 例外を呼び出し元で処理する
   242 例外の種類を取得する
   243 例外が発生した場所を取得する
   244 例外を発生させる
   245 新しい例外を定義する
  7-2 例外クラス
   246 引数が無効の場合の例外をとらえる
   247 引数の値が範囲外の場合の例外をとらえる
   248 引数がnullの場合の例外をとらえる
   249 I/Oエラーが発生した場合の例外をとらえる
   250 ファイルが存在しない場合の例外をとらえる

 第8章 デバッグの極意
  8-1 IDE
   251 ブレークポイントを設定/解除する
   252 指定の実行回数で中断する
   253 指定の条件になったら中断する
   254 実行中断時にローカル変数の値を一覧表示する
   255 1行ずつステップ実行をする
   256 イミディエイトウィンドウを使う
   257 実行中断時にオブジェクトデータを視覚的に表示する
   258 実行中のプロセスにアタッチする
   259 ビルド構成を変更する
   260 コンパイルスイッチを設定する
   261 プリプロセッサディレクティブでビルドしないコードを設定する
  8-2 Debugクラス
   262 デバッグ情報を出力する
   263 デバッグ情報をファイルに出力する
   264 出力先に自動的に書き込む
   265 警告メッセージを出力する
  8-3 テストプロジェクト
   266 単体テストプロジェクトを作る
   267 単体テストを追加する
   268 数値を比較する
   269 文字列を比較する
   270 オブジェクトがnullかどうかをチェックする
   271 例外処理をテストする
   272 テストを実行する
   273 テストを実行する
   274 テストの前処理を記述する
   275 テストの後処理を記述する

 第9章 グラフィックの極意
  9-1 基本描画
   276 直線を描画する
   277 四角形を描画する
   278 円を描画する
   279 多角形を描画する
  9-2 画像加工
   280 背景をグラデーションで描画する
   281 画像を半透明にして描画する
   282 画像をセピア色にして描画する
   283 透過色を使って画像を描画する
   284 画像を回転する
   285 画像を反転する
   286 画像を切り出す
   287 画像を重ね合わせる
   288 画像の大きさを変える
   289 画像に文字を入れる
   290 画像をファイルに保存する

 第10章 WPFの極意
  10-1 基本コントロール
   291 WPFアプリケーションを作る
   292 WPFアプリケーションのウィンドウの大きさを変える
   293 ボタンを配置する
   294 テキストを配置する
   295 テキストボックスを配置する
   296 パスワードを入力するテキストボックスを配置する
   297 チェックボックスを配置する
   298 ラジオボタンを配置する
   299 コンボボックスを配置する
   300 リストボックスを配置する
   301 四角形を配置する
   302 楕円を配置する
   303 画像を配置する
   304 ボタンに背景画像を設定する
   305 ブラウザを表示させる
   306 日付を選択する
   307 XAMLファイルを直接編集する
  10-2 XAML
   308 グリッドを分割する
   309 グリッドの比率を指定する
   310 グリッドの固定値を指定する
   311 マージンを指定する
   312 パディングを指定する
   313 コントロールを複数行にまたがって配置する
   314 キャンバスを利用して自由に配置する
   315 キャンバス内で矩形を回転させる
   316 キャンバス内で動的に位置を変更する
   317 実行時にXAMLを編集する
  10-3 MVVM
   318 MVVMを利用する
   319 ViewModelクラスを作る
   320 プロパティイベントを作る
   321 コマンドイベントを作る
   322 ラベルにモデルを結び付ける
   323 テキストボックスにモデルを結び付ける
   324 リストボックスにモデルを結び付ける
   325 DataGridにモデルを結び付ける
   326 リストビューにモデルを結び付ける
   327 リストビューの行をカスタマイズする
   328 独自のコントロールを作る
   329 階層構造のモデルに結び付ける
   330 モデルにデータベースを利用する

第2部 アドバンスドプログラミングの極意

 第11章 データベース操作の極意
  11-1 データベース操作
   331 データファーストでモデルを作る
   332 コードファーストでモデルを作る
   333 モデルに注釈を付ける
   334 テーブルにデータを追加する
   335 テーブルのデータを更新する
   336 テーブルのデータを削除する
   337 テーブルのデータを参照する
   338 テーブルのデータ数を取得する
  11-2 LINQ
   339 データベースのデータを検索する
   340 クエリ文でデータを検索する
   341 メソッドチェーンでデータを検索する
   342 複数条件を使ってクエリ文を組み合わせる
   343 データを並べ替えて取得する
   344 指定した行番号のレコードを取得する
   345 指定した列名の値を取得する
   346 取得したデータ数を取得する
   347 データの合計値を取得する
   348 2つのテーブルを内部結合する
   349 2つのテーブルを外部結合する
   350 新しい検索結果を使う
   351 要素が含まれているかを調べる
   352 最初の要素を取り出す
   353 最後の要素を取り出す
   354 最初に見つかった要素を返す
   355 最後に見つかった要素を返す
   356 複数のテーブルを結合してデータを取得する
   357 SQL文を指定して実行する
   358 関連したデータも一緒に取得する
   359 連携するテーブル名を変更する
   360 実行されるSQL文を取得する
  11-3 DataGridコントロール
   361 DataGridにデータを表示する
   362 DataGridに抽出したデータを表示する
   363 DataGridを読み取り専用にする
   364 DataGridに行を追加不可にする
   365 DataGridに行を作成してデータを追加する
   366 DataGridを1行ごとに色を変更する
   367 DataGridの列幅を自動調節する
   368 トランザクションを開始/終了する
   369 トランザクションを適用する
   370 トランザクションを中止する

 第12章 ネットワークの極意
  12-1 TCP/IP
   371 コンピューター名を取得する
   372 コンピューターのIPアドレスを取得する
   373 相手のコンピューターにPingを送信する
   374 コンピューターにTCP/IPで接続する
   375 コンピューターへTCP/IPでデータを送信する
   376 コンピューターからTCP/IPでデータを受信する
   377 TCP/IPを使うサーバーを作る
   378 Webサーバーに接続する
  12-2 HTTPプロトコル
   379 クエリ文字列を使ってWebサーバーに接続する
   380 Webサーバーからファイルをダウンロードする
   381 Webサーバーへファイルをアップロードする
   382 GETメソッドで送信する
   383 POSTメソッドを使ってフォーム形式で送信する
   384 POSTメソッドを使ってJSON形式で送信する
   385 戻り値をJSON形式で処理する
   386 戻り値をXML形式で処理する
   387 ヘッダーにコンテンツタイプを設定する
   388 ヘッダーに追加の設定を行う
   389 クッキーを有効にする
   390 ユーザーエージェントを設定する

 第13章 ASP.NETの極意
  13-1 MVC
   391 ASP.NET MVCプロジェクトを作成する
   392 ASP.NET MVCとは
   393 新しいビューを追加する
   394 新しいコントローラーを追加する
   395 新しいモデルを追加する
   396 レイアウトを変更する
   397 ViewDataコレクションを使って変更する
   398 別のページに移る
   399 データを引き継いで別のページに移る
   400 コントローラーからリダイレクトする
  13-2 Razor構文
   401 Viewでモデルを参照させる
   402 名前空間を設定する
   403 ViewにC#のコードを記述する
   404 Viewで繰り返し処理を行う
   405 Viewで条件分岐を行う
   406 フォーム入力を記述する
   407 テキスト入力を記述する
  13-3 データバインド
   408 ASP.NET MVCからEntity Frameworkを扱う
   409 Entity Frameworkのモデルを追加する
   410 Entity Framework対応のコントローラーを作る
   411 項目をリストで表示する
   412 1つの項目を表示する
   413 新しい項目を追加する
   414 既存の項目を編集する
   415 既存の項目を削除する
   416 必須項目の検証を行う
   417 数値の範囲の検証を行う
  13-4 Web API
   418 Web APIとは
   419 Web APIのプロジェクトを作る
   420 複数のデータを取得するWeb API を作る
   421 IDを指定してデータを取得するWeb API を作る
   422 値を更新するWeb APIを作る
   423 JSON形式で結果を返す
   424 バイナリデータで結果を返す
   425 JSON形式でデータを更新する
   426 バイナリ形式でデータを更新する
   427 ルーティングを設定する
   428 API KEYを利用する
   429 データ更新時の重複を避ける
   430 クロスサイトスクリプトに対応する

 第14章 アプリケーション実行の極意
  14-1 アプリケーション制御
   431 ほかのアプリケーションを起動する
   432 ほかのアプリケーションの終了を待つ
   433 アプリケーションの二重起動を防止する
  14-2 クリップボード
   434 クリップボードにテキストデータを書き込む
   435 クリップボードに画像データを書き込む
   436 クリップボードからテキスト形式のデータを受け取る
   437 クリップボードから画像形式のデータを受け取る
  14-3 設定ファイル
   438 設定ファイルからデータを読み込む
   439 設定ファイルから接続文字列を読み込む
   440 設定ファイルへデータを書き出す

 第15章 リフレクションの極意
  15-1 情報取得
   441 クラス内のプロパティの一覧を取得する
   442 クラス内の指定したプロパティを取得する
   443 クラス内のメソッドの一覧を取得する
   444 クラス内の指定したメソッドを取得する
   445 リフレクションでプロパティに値を設定する
   446 リフレクションでプロパティの値を取得する
   447 リフレクションでメソッドを呼び出す
   448 クラスに設定されている属性を取得する
   449 プロパティに設定されている属性を取得する
   450 メソッドに設定されている属性を取得する
  15-2 プライベート実行
   451 プライベートプロパティの値を設定する
   452 プライベートメソッドを呼び出す
   453 指定したオブジェクトを作る
   454 アセンブリを指定してインスタンスを生成する
   455 カスタム属性を作る

 第16章 モバイル環境の極意
  16-1 MAUI
   456 .NET MAUIプロジェクトを作る
   457 .NET MAUIとは
   458 Androidで実行する
   459 iPhoneで実行する
   460 ラベルを配置する
   461 ボタンを配置する
   462 グリッドを使ってコントロール並べる
   463 データをリストで表示する
   464 テキスト入力を行う
   465 画像を利用する
   466 利用するフォントを変更する
   467 機種によりマージンを変える
   468 リストから項目を選択する
   469 オンオフの切り替えをする
   470 スライダーを表示する
   471 キーボードの種類を指定する
   472 カレンダーで日付を選ぶ
  16-2 スマホ機能
   473 Web APIを呼び出して画面に表示する
   474 Web APIを呼び出して画面にリスト表示する
   475 Web APIでデータ送信する
   476 画面遷移する
   477 ダイアログを開く
   478 指定URLでブラウザーを開く
   479 加速度センサーを使う
   480 GPS機能を使う

 第17章 Excelの極意
  17-1 ワークシート
   481 Excelを参照設定する
   482 既存のファイルを開く
   483 既存のシートから値を取り出す
   484 既存のシートから表を取り出す
   485 セルに値を書き込む
   486 セルに色を付ける
   487 セルに罫線を付ける
   488 セルのフォントを変更する
   489 ファイルに保存する
   490 シートの一覧を取得する
   491 新しいシートを追加する
   492 PDFファイルで保存する
   493 指定したシートを印刷する
   494 データベースからExcelにデータを取り込む
   495 Excelシートからデータベースに保存する
  17-2 Web API
   496 指定URLの内容を取り込む
   497 天気予報APIを利用する
   498 指定地域の温度を取得する
   499 新刊リストを取得する
   500 書籍情報を取得する

著者情報

増田, 智明
増田智明
増田智明(ますだ ともあき) 東京都板橋区在住。得意言語は、C++/C#/F#。電子工作はRaspberry Pi/Arduinoからスタートして、M5StackとBLEを並行してやりつつ、新人教育でVue.js+Laravelを使ったり。隔週でScratchを教えに行きながらも、ギターでバッハを練習中です。 主な著書に、『現場ですぐに使える! C/C++逆引き大全 560の極意』『現場ですぐに使える! Visual C# 2019逆引き大全 500の極意』『成功するチームの作り方 オーケストラに学ぶプロジェクトマネジメント』(以上、秀和システム)『.NET 6プログラミング入門』『プログラミング言語Rust入門』(以上、日経BP)など。