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

概 要

Visual C#の開発現場で「今やりたいこと」をサッと手軽に調べられたらいいなと思ったことはありませんか? 本書は、「現場ですぐに使える」をコンセプトに、Visual C# 2017の基礎から便利技まで幅広い内容を網羅した逆引きTips集です。.NET Framework 4.6.xへの移行やASP.NET MVCの強化なども解説。85の分類で目的のクラス、メソッドがすぐに探せます。アプリケーション開発に必要な知識をコンパクトにわかりやすく説明します!

著者 増田智明、国本温子
価格 本体2700円(税別)
ISBN 978-4-7980-5341-7
発売日 2018/3/20
判型 A5
ページ数 880
CD/DVD
ダウンロード
表紙イメージ
購入 アマゾンで購入する
楽天で購入する

※リンク先によっては、販売ページが用意されていないことがあります。あらかじめご了承ください。

新しいウィンドウで開く 書籍購入のご案内

サポート

サポート情報は以下からご参照下さい。

サポート情報へのリンク

目次

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

第1章 Visual C# 2017の基礎

1-1 Visual C# 2017の基本

001 Visual C#とは

002 Visual Studioとは

003 Visual Studio 2017をインストールする

004 .NET Frameworkとは

005 名前空間とは

006 Visual C# 2017プログラムの開発手順

007 ソリューション、プロジェクトとは

008 クラス、オブジェクトとは

009 プロパティとは

010 メソッドとは

011 イベントとは

012 IDE(統合開発環境)の画面構成

013 ツールウィンドウの表示/非表示

014 ドキュメントウィンドウを並べて表示する

015 ドキュメントウィンドウの表示倍率を変更する

016 ドキュメントウィンドウを固定する

017 ドキュメントウィンドウにファイルを開く/プレビューする

018 効率よくコードを入力する(1)

019 効率よくコードを入力する(2)

020 スクロールバーを有効に使う

021 クイック起動を利用する

022 コード入力中に発生したエラーに対処する

023 プロジェクト実行中に発生したエラーに対処する

024 わからないことを調べる

第2章 プロジェクト作成の極意

2-1 プロジェクト

025 プロジェクトを新規作成する

026 プロジェクトを保存する

027 プロジェクトを実行する

028 ソリューションとプロジェクトのファイル構成

029 プロジェクトを開く/閉じる

030 プログラム起動時に開くフォームを指定する

031 プログラム起動時に実行する処理を指定する

032 実行可能ファイルを作成する

033 プロジェクトを追加する

034 プロジェクトを印刷する

035 プロジェクトにリソースを追加する

036 名前空間の記述を省略する

第3章 ユーザーインターフェイスの極意

3-1 ユーザーインターフェイス

〈フォーム〉

037 フォームのアイコンとタイトル文字を変更する

038 フォームのサイズを変更できないようにする

039 最大化、最小化ボタンを非表示にする

040 ヘルプボタンを表示する

041 フォームをモニターの大きさに合わせる

042 フォームをプロジェクトに追加する

043 フォームを表示する/閉じる

044 フォームの表示位置を指定する

045 フォームの大きさを変更する

046 デフォルトボタン/キャンセルボタンを設定する

047 フォームやコントロールの初期設定を行う

048 フォームを半透明にする

049 ほかのフォームのコントロールの値を参照する

〈テンプレート〉

050 ダイアログボックスでクリックされたボタンを呼び出し元のフォームで取得する

051 情報ボックスを使う

〈ラベル〉

052 スプラッシュウィンドウ(タイトル画面)を表示する

053 任意の位置に文字列を表示する

054 リンクラベルでWebページにリンクする

055 リンクラベルで別のフォームにリンクする

〈ボタン〉

056 ボタンを使う

〈テキストボックス〉

057 テキストボックスで文字の入力を取得する

058 テキストボックスに複数行入力できるようにする

059 パスワードを入力できるようにする

060 入力する文字の種類を指定する

061 テキストボックスを読み取り専用にする

062 入力できる文字数を制限する

063 テキストボックスに指定した形式でデータを入力する

〈チェックボックス〉

064 複数選択できる選択肢を設ける

〈ラジオボタン〉

065 1つだけ選択できる選択肢を設ける

066 ラジオボタンのリストをスクロールする

〈グループボックス〉

067 グループごとに1つだけ選択できるようにする

〈ピクチャーボックス〉

068 ピクチャーボックスに画像を表示/非表示にする

069 ピクチャーボックスに画像を重ねて表示する

〈リストボックス〉

070 リストボックスに項目を追加する(デザイン時)

071 リストボックスに項目を追加/削除する(実行時)

072 リストボックスに順番を指定して項目を追加する

073 リストボックスで項目を選択し、その項目を取得する

074 リストボックスで複数選択された項目を取得する

075 チェックボックス付きリストボックスを使う

〈コンボボックス〉

076 コンボボックスを使う

〈タブコントロール〉

077 クリックすると表示ページが切り替わるタブを使う

〈カレンダー〉

078 カレンダーを利用して日付を選択できるようにする

079 日付範囲を選択できるカレンダーを使う

〈タイマー〉

080 タイマーを使ってストップウォッチを作成する

〈メニュー〉

081 メニューバーを作成する

082 メニューコマンドを無効にする

083 メニューコマンドにチェックマークを付ける

084 メニューにショートカットキーを割り当てる

085 ショートカットメニューを付ける

〈ツールバー〉

086 ツールバーを作成する

〈ステータスバー〉

087 ステータスバーを作成する

〈ツールストリップコンテナー〉

088 ツールバーをドラッグでフォームの四辺に移動可能にする

〈プログレスバー〉

089 プログレスバーで進行状態を表示する

〈ツリービュー〉

090 階層構造を表示する

〈リストビュー〉

091 リストビューにファイル一覧を表示する

092 リストビューに画像一覧を表示する

〈リッチテキストボックス〉

093 リッチテキストボックスの編集を元に戻す

094 リッチテキストボックスのフォントと色を設定する

095 リッチテキストボックスの文字を検出する

096 リッチテキストボックスにファイルの内容を表示する

097 リッチテキストボックスの内容をファイルに保存する

〈スピンボタン〉

098 スピンボタンで数値を入力できるようにする

〈トラックバー〉

099 ドラッグで数値を変更できるようにする

〈パネル〉

100 パネル上のコントロールを順に参照する

〈Webブラウザー〉

101 フォームにWebページを表示する

3-2 コントロール全般

102 コントロールの位置と大きさを変更不可にする

103 コントロールを非表示にする

104 コントロールの大きさを変更する

105 コントロールの表示位置を変更する

106 フォームのコントロールの大きさをフォームに合わせる

107 フォームの端からの距離を一定にする

108 フォームを領域のサイズが変更可能な状態で2分割する

109 フォームを表形式に分割してコントロールを整列させる

110 フォームのサイズに合わせてコントロールの配置を自動調整する

111 タスクバーの通知領域にアイコンを表示する

112 コントロールをポイントしたときにヒントテキストを表示する

113 Tabキーでフォーカスを移動しないようにする

114 フォーカスの移動順を設定する

115 実行時にコントロールを追加する

116 実行時に追加したコントロールにイベントハンドラーを作成する

3-3 MDI

117 MDIフォームを作成する

118 メニューにMDI子フォームのリストを表示する

119 MDI子フォームを並べて表示する

120 アクティブなMDI子フォームを取得する

第4章 基本プログラミングの極意

4-1 基礎

121 コードにコメントを入力する

122 C#のデータ型とは

123 変数を使う

124 リテラル値のデータ型を指定する

125 値型と参照型とは

126 定数を使う

127 列挙型を定義する

128 データ型を変換する(1)

129 データ型を変換する(2)

130 ユーザーにメッセージを表示する

131 文字列の途中に改行やタブなどを挿入する

132 dynamic型を使う

133 起動時に表示するフォームを変更する

134 プログラムを終了する

4-2 演算

135 加減乗除などの計算をする

136 演算子を使って比較や論理演算を行う

137 複数の条件を判断する

138 オブジェクトが指定した型にキャスト可能か調べる

139 絶対値を求める

140 平方根を求める

141 乱数を求める

4-3 日付と時刻

142 現在の日付と時刻を取得する

143 日付要素を取得する

144 時刻要素を取得する

145 曜日を取得する

146 一定期間前や後の日付/時刻を求める

147 2つの日時の間隔を求める

148 任意の時間間隔を作成する

149 任意の日付を作成する

150 日付文字列を日付データにする

4-4 制御構造

151 条件を満たしている場合に処理を行う

152 式の結果に応じて処理を分岐する

153 指定した回数だけ処理を繰り返す

154 条件が成立する間、処理を繰り返す

155 条件式の結果にかかわらず、一度は繰り返し処理を行う

156 コレクションまたは配列に対して処理を繰り返す

157 ループの途中で処理を先頭に戻す

158 条件式の結果に応じて、2つの値のいずれかを取得する

4-5 配列

159 配列を使う

160 配列の宣言時に値を代入する

161 配列の要素数を求める

162 配列の要素数を変更する

163 配列の配列(ジャグ配列)を利用する

164 配列の要素を並べ替える

165 配列をクリアする

166 配列をコピーする

4-6 コレクション

167 サイズが動的に変化する配列コレクションを使う

168 キーと値がペアのコレクションを作成する

169 データ型を指定してコレクションを作成する

170 Listジェネリッククラスの要素を並べ替える

171 コレクションの要素から値を検索する

172 型指定したキーと値のペアでコレクションを作成する

173 キーで並べ替えられた、型指定したキーと値のコレクションを作成する

4-7 プロシージャ

174 イベントハンドラーを作成する

175 1つのイベントハンドラーで複数のイベントに対応する

176 値を受け取るメソッドを作成する

177 値を返すメソッドを作成する

178 配列の受け渡しをするメソッドを作成する

179 引数の数が可変のメソッドを作成する

180 名前が同じで引数のパターンが異なるメソッドを作成する

4-8 クラスの作成

181 クラスを作成(定義)する

182 クラスのコンストラクターを作成する

183 クラスのプロパティを定義する

184 クラスのメソッドを定義する

185 クラスのイベントを定義する

186 定義したイベントのイベントハンドラーを作成する

187 オブジェクト生成時にプロパティの値を代入する

188 クラスを継承する

189 基本クラスのメソッドやプロパティを派生クラスで再定義する

190 型情報を引数にできるクラスを作成する

4-9 構造体

191 構造体を定義して使う

192 構造体配列を宣言して使う

193 構造体や配列を構造体のメンバーとする

194 構造体を受け取るメソッドを作成する

195 構造体を返すメソッドを作成する

4-10 非同期

196 タスクを作成する

197 タスクを作成して実行する

198 戻り値を持つタスクを作成する

199 タスクの完了を待つ

200 複数のタスクの実行を待つ

201 非同期メソッドを呼び出す

202 タスクの終了時に実行を継続する

203 スレッドを切り替えてUIを変更する

204 一定時間停止する

205 イベントが発生するまで停止する

206 タスクの実行をキャンセルする

第5章 文字列操作の極意

5-1 文字列操作

207 文字コードを取得する

208 文字列の長さを求める

209 英小(大)文字を英大(小)文字に変換する

210 指定位置から指定文字数分の文字を取得する

211 文字列内に指定した文字列が存在するか調べる

212 文字列内から指定した文字列の位置を検索する

213 2つの文字列の大小を比較する

214 文字列内の指定文字を別の文字に置き換える

215 文字列が指定文字列で始まって(終わって)いるか調べる

216 文字列の前後のスペースを削除する

217 文字列内から指定位置の文字を削除する

218 文字列内に別の文字列を挿入する

219 文字列が指定した文字数になるまでスペースを入れる

220 文字列を指定した区切り文字で分割する

221 文字列配列の各要素を連結する

222 数値と日付の書式を指定する

第6章 ファイル、フォルダー操作の極意

6-1 ファイル、フォルダー操作

223 ファイル、フォルダーの存在を確認する

224 ファイル、フォルダーを削除する

225 ファイル、フォルダーを移動する

226 ファイルをコピーする

227 ファイル、フォルダーの作成日時を取得する

228 カレントフォルダーを取得/設定する

229 フォルダーを作成する

230 フォルダー内のすべてのフォルダーを取得する

231 フォルダー内のすべてのファイルを取得する

232 パスのファイル/フォルダー名を取得する

233 ファイルの属性を取得する

234 ファイルの属性を設定する

235 ドキュメントフォルダーの場所を取得する

236 論理ドライブ名を取得する

237 ドライブの種類を調べる

6-2 テキストファイル

238 テキストファイルを開く/閉じる

239 テキストファイルから1行ずつ読み込む

240 テキストファイルから1文字ずつ読み込む

241 テキストファイルの内容を一度に読み込む

242 ファイルの末尾かどうか取得する

243 テキストファイルを作成する

244 テキストファイルの末尾に書き込む

245 テキストファイルに書き込む

246 書き込みモードを指定してファイルを開く

第7章 コモンダイアログの極意

7-1 コモンダイアログ

247 ファイルを開くダイアログボックスを表示する

248 名前を付けて保存するダイアログボックスを表示する

249 フォントを設定するダイアログボックスを表示する

250 色を設定するダイアログボックスを表示する

251 フォルダーを選択するダイアログボックスを表示する

第8章 データベース操作の極意

8-1 データベース操作

252 IDEにデータベースを接続する

253 プロジェクトにデータベースを接続する

254 実行時にデータベースに接続する

255 データベースへの接続状態を取得する

256 テーブル名の一覧を取得する

257 テーブルのフィールドの一覧を取得する

258 データベースに新規テーブルを作成する

259 データベースのテーブルを削除する

260 テーブルにレコードを追加する

261 テーブルのレコードを更新する

262 テーブルのレコードを削除する

263 テーブルのレコードを参照する

264 テーブルのレコード数を取得する

265 テーブルのフィールド数を取得する

266 テーブルのフィールド名を取得する

8-2 データセット

267 データセットにデータベースのデータを取得する

268 データセットのレコードを参照する

269 データセット内のフィールドの数を取得する

270 データセット内のレコードの数を取得する

271 データセットから条件に合致するデータを取得する

272 データセットのレコードをフィールドの値で並べ替える

273 データセットのテーブルのフィールドの型名を取得する

274 データセットから指定行のレコードを取得する

275 データセットから指定したフィールド名のデータを取得する

276 データセットのデータの変更をデータベースに反映する

277 データセットにテーブルを作成(追加)する

278 データセットのテーブルにレコードを追加する

8-3 DataGridViewコントロール

279 DataGridViewコントロールにデータセットのデータを表示する

280 DataGridViewコントロールに抽出したレコードを表示する

281 DataGridViewコントロールに行ヘッダーを表示しない

282 DataGridViewコントロールの指定列を読み取り専用にする

283 DataGridViewコントロールに行を追加不可にする

284 DataGridViewコントロールに列を作成してデータを追加する

285 DataGridViewコントロールの行の編集状態を調べる

286 DataGridViewコントロールの行の編集状態を確定する

8-4 トランザクション

287 トランザクションを開始/終了する

288 トランザクションを適用する

289 トランザクションを中止する

第9章 LINQの極意

9-1 データソース

290 LINQとは

291 LINQで配列を扱う

292 LINQでXMLを扱う

293 LINQでDataSetを扱う

294 LINQでデータモデルを扱う

9-2 クエリ

295 データベースのデータを検索する

296 データを並べ替えて取得する

297 指定した行番号のレコードを取得する

298 指定したフィールド名の値を取得する

299 取得したレコード数を取得する

300 データの合計値を取得する

301 テーブルにレコードを追加する

302 テーブルのレコードを削除する

303 テーブルのレコードを更新する

9-3 データバインド

304 リストボックスにデータバインドする

305 DataGridViewコントロールにデータバインドする

306 複数のコントロールにデータバインドする

第10章 エラー処理の極意

10-1 構造化例外処理

307 構造化例外処理とは

308 すべての例外に対処する

309 例外発生の有無にかかわらず、必ず後処理を行う

310 例外のメッセージを取得する

311 配列のインデックスが範囲外の例外をとらえる

312 無効なメソッドの呼び出しの例外をとらえる

313 例外を呼び出し元で処理する

314 例外の種類を取得する

315 例外が発生した場所を取得する

316 例外を発生させる

317 新しい例外を定義する

10-2 例外クラス

318 引数が無効の場合の例外をとらえる

319 引数の値が範囲外の場合の例外をとらえる

320 引数がnullの場合の例外をとらえる

321 IOエラーが発生した場合の例外をとらえる

322 ファイルが存在しない場合の例外をとらえる

323 フォルダーが存在しない場合の例外をとらえる

324 データベースに接続できない場合の例外をとらえる

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

第11章 デバッグの極意

11-1 IDE

325 例外処理アシスタントを表示しないようにする

326 ブレークポイントを設定/解除する

327 指定の実行回数で中断する

328 指定の条件になったら中断する

329 実行中断時に変数の値を表示したままにする

330 実行中断時にローカル変数の値を一覧表示する

331 変数や式を登録して実行中断時に値を確認する

332 1行ずつステップ実行をする

333 イミディエイトウィンドウを使う

334 実行中断時にオブジェクトデータを視覚的に表示する

335 実行中断時にコードを編集する

336 実行中のプロセスにアタッチする

337 ビルド構成を変更する

338 コンパイルスイッチを設定する

339 プラグマでビルドしないコードを設定する

11-2 Debugクラスの利用

340 デバッグ情報を出力する

341 デバッグ情報をインデントして出力する

342 条件によってデバッグ情報を出力する

343 デバッグ情報をファイルに出力する

344 出力先に自動的に書き込む

345 警告メッセージを出力する

346 条件によって警告メッセージを表示する

347 デバッグ情報をイベントログに出力する

11-3 MSTest

348 単体テストプロジェクトを作成する

349 単体テストを追加する

350 数値を比較する

351 文字列を比較する

352 オブジェクトがNULLかどうかをチェックする

353 テストを実行する

354 テストをデバッグ実行する

第12章 グラフィック操作の極意

12-1 グラフィック

355 直線を描画する

356 四角形を描画する

357 円を描画する

358 多角形を描画する

359 フォームの背景に画像を設定する

360 背景をグラデーションで描画する

361 画像を半透明にして描画する

362 画像をセピア色にして描画する

363 透過色を使って画像を描画する

364 変形したフォームを作成する

365 画像に合わせてフォームを変形する

366 画像を回転する

367 画像を切り出す

368 画像を重ね合わせる

369 リソースの画像を使う

第13章 WPFの極意

13-1 アプリケーション

370 WPFアプリケーションを作成する

371 WPFウィンドウの大きさを変える

372 ボタンを配置する

373 テキストを配置する

374 テキストボックスを配置する

375 自動でコントロールの位置を配置させる

376 XAMLファイルを直接編集する

377 ボタンに背景画像を設定する

378 自動でコントロールの大きさを変更させる

379 ドラッグ可能なコントロールを使う

380 デジタルインクを使う

381 デジタルインクの太さを変える

13-2 XAML

382 グリッド線で分割する

383 グリッドの比率を変える

384 ボタンをグリッドに合わせて大きさを変える

385 グリッドに矩形を配置する

386 グリッドに円を配置する

387 矩形を回転させる

388 矩形に画像を表示させる

389 矩形に色を付ける

390 キャンバスを利用して自由に配置する

391 ボタンでキャンバスの表示を制御する

13-3 MVVM

392 MVVMを利用する

393 ViewModelクラスを作成する

394 プロパティイベントを作成する

395 ラベルにモデルを結び付ける

396 テキストボックスにモデルを結び付ける

397 リストボックスにモデルを結び付ける

398 グリッド表示にモデルを結び付ける

399 ボタンイベントをコマンドに結び付ける

400 階層構造のモデルに結び付ける

401 モデルにデータベースを利用する

第14章 Blendの極意

14-1 編集

402 既存プロジェクトをBlendで開く

403 Blend でプロジェクトを作成する

404 吹き出しを作成する

405 吹き出しに影を付ける

406 矩形にグラデーションを付ける

407 矩形を半透明にする

14-2 アニメーション

408 ボールが弾むアニメーションを作成する

409 吹き出しが揺れるアニメーションを作成する

410 マウスカーソルがあるときだけ色が変化するアニメーションを作成する

411 マウスカーソルがあるときだけ回転するアニメーションを作成する

412 ボタンを押すと半透明になり消えるアニメーションを作成する

413 ボタンを押したときにフォントの大きさを変えるアニメーションを作成する

414 ボタンをクリックするとスライドして消えるアニメーションを作成する

第15章 ネットワークの極意

15-1 DNSクラス

415 コンピューター名を取得する

416 コンピューターのIPアドレスを取得する

15-2 ネットワーク

417 コンピューターにTCP/IPで接続する

418 コンピューターへTCP/IPでデータを送信する

419 コンピューターからTCP/IPでデータを受信する

420 TCP/IPを使うサーバーを作成する

421 Webサーバーに接続する

422 クエリ文字列を使ってWebサーバーに接続する

423 Webサーバーからファイルをダウンロードする

424 Webサーバーへファイルをアップロードする

425 GETメソッドで送信する

426 POSTメソッドで送信する

427 戻り値をXMLで処理する

第16章 ASP.NETの極意

16-1 MVC

428 新しいASP.NET MVCプロジェクトを作成する

429 ASP.NET MVCとは

430 新しいビューを追加する

431 新しいコントローラーを追加する

432 新しいモデルを追加する

433 タイトルを変更する

434 ViewDataコレクションを使って変更する

435 別のページに移る

436 データを引き継いで別のページに移る

437 ほかのフォルダーへリダイレクトする

16-2 Razor構文

438 Viewでモデルを参照させる

439 名前空間を設定する

440 ViewにC#のコードを記述する

441 Viewで繰り返し処理を行う

442 Viewで条件分岐を行う

443 フォーム入力を記述する

444 テキスト入力を記述する

16-3 データバインド

445 ASP.NET MVCからEntity Frameworkを扱う

446 Entity Frameworkのモデルを追加する

447 Entity Framework対応のコントローラーを作成する

448 項目をリストで表示する

449 1つの項目を表示する

450 新しい項目を追加する

451 既存の項目を編集する

452 既存の項目を削除する

453 必須項目の検証を行う

454 数値の範囲の検証を行う

16-4 jQuery

455 指定した要素の色を変える

456 指定したIDの色を変える

457 指定したクラスのフォントサイズを変える

458 ボタンをクリックしたときに画像を変える

459 画像をスライドして表示させる

460 画像をフェードアウトさせる

461 垂直方向だけドラッグさせる

462 グリッドに沿ってドラッグさせる

463 並べ替えができるリストを作成する

464 カレンダーから日付を選択する

16-5 Web API

465 Web APIとは

466 Web APIのプロジェクトを作成する

467 値を取得するWeb APIを作成する

468 値を更新するWeb APIを作成する

469 データをJSON形式で取得する

470 データをXML形式で取得する

第17章 アプリケーション実行の極意

17-1 アプリケーション制御

471 ほかのアプリケーションを起動する

472 ほかのアプリケーションの終了を待つ

473 アプリケーションの二重起動を防止する

17-2 クリップボード

474 クリップボードにテキストデータを書き込む

475 クリップボードに画像データを書き込む

476 クリップボードのデータを読み取る

477 HTML形式のデータをクリップボードへ送る

17-3 レジストリ

478 レジストリからデータを読み込む

479 レジストリへデータを書き出す

480 レジストリのデータを削除する

第18章 Windows IoT Core の極意

18-1 Windows IoT Core

481 Windows IoT Coreとは

482 SDカードに起動イメージを書き込む

483 組み込みボードにデプロイしてデバッグする

484 ブラウザーからアプリを起動する

485 無線LANを活用する

486 画面に文字列を表示する

487 LEDを点滅させる

488 タクトスイッチを付ける

489 サーボモーターを制御する

490 ブラシモーターを制御する

第19章 Excelの極意

19-1 ワークシート

491 Excelを参照設定する

492 既存のファイルを開く

493 既存のシートから値を取り出す

494 既存のシートから表を取り出す

495 セルに値を書き込む

496 セルに色を付ける

497 セルに罫線を付ける

498 ファイルに保存する

499 シートの一覧を取得する

500 新しいシートを追加する

19-2 Web API

501 指定URLの内容を取り込む

502 天気予報APIを利用する

503 指定地域の気温を取得する

504 新刊リストを取得する

505 書籍情報を取得する

第20章 .NET Core の極意

20-1 環境構築

506 .NET Coreとは

507 Windows上で.NET Coreを利用する

508 Ubuntu上で.NET Coreを利用する

509 コンソールアプリを作成する

510 コンソールアプリを実行する

20-2 Webサーバー

511 Webアプリを作成する

512 Webアプリのポートを指定する

513 CRUD機能を利用する

514 Web APIを追加する

515 XML形式で結果を返す

第21章 トラブルシューティングの極意

21-1 基本原理

516 オブジェクト指向とコンポーネント化とは

517 不用意なエラーでもアプリケーションが落ちないようにする

518 xUnitを活用する

519 構成管理を活用する

520 不具合票の書き方

21-2 アプリの起動時

521 開始ロジックが複雑で起動が遅い

522 大量のメモリを確保するために起動が遅い

523 起動時に大量のDLLを読み込むために起動が遅い

524 データベースの接続が遅い

525 ネットワーク経由の初期化のために遅い

21-3 アプリの実行時

526 UIがスムースに動かない

527 ガベージコレクションが頻繁に実行される

528 ファイルアクセスを遅延させる

529 検索と更新の分離でスピードアップする

530 レスポンスを待たずに次の動作に移る

21-4 アプリが落ちる

531 不正なパラメーターの呼び出しでアプリが落ちる

532 不正なオブジェクトへアクセスでアプリが落ちる

533 見つからないファイルアクセスでアプリが落ちる

534 外部制約の不正でテーブルが更新できない

535 サーバーの不調でアプリが固まる

21-5 アプリの拡張

536 アプリケーションを拡張しづらい

537 モジュール単位でメモリを分離する

538 作業ファイルを共有せずに作成する

539 Viewやストアドプロシージャを活用する

540 RESTFulのWeb APIで統一する

21-6 アプリの操作性

541 インターフェイスを活用する

542 実行プロセスの概要を知る

543 実行プロセスの詳細を知る

544 データアクセスを時系列で見る

545 互換開発環境を利用する

21-7 コミュニケーション

546 1対1で重要なことを確実に伝える

547 うまく動かないプログラムを書き直してもらう

548 1対多で重要なことを確実に伝える

549 複数のメンバーからの情報を適切に判断する

550 プロジェクトメンバーの希望を探る

551 迷走したプロジェクトを完遂させる

552 メンバーの仲間意識を高めて、プロジェクトを運営する

553 新人を育成する

554 ペアプログラミングで経験を共有する

555 自分の願望とプロジェクト完遂を両立させる

コラム

Visual Studio 2017のシステム要件

コードエディター内で使用できる主なショートカットキー

サンプルプログラムのコードを確認する方法

作業用の画面構成(ウィンドウレイアウト)を保存する

複数のコントロールを整列させる

Microsoft社とXamarin社の共闘

Visual Studio Code

HTTPプロトコルとXMLシリアライズの関係

非同期処理とC#

Excelと.NETの関係

.NET CoreをLinuxで動かす

Raspberry PiにF#をインストールする 794

PR

秀和システム