Visual C# 2017パーフェクトマスター

概 要

さあ、あなたもVisual C#を楽しく学びましょう! 本書は、プログラミング経験のない方でも読みすすめられるように、無償で利用できる開発環境のダウンロード法から、プログラムの仕組み、C#のコードの書き方、アプリ開発の基本と応用までをわかりやすく解説した解説書です。デスクトップアプリ、Webアプリ、ユニバーサルWindowsアプリの開発と段階を追って学習していくので、一通りのプログラミングテクニックが身につきます。

著者 金城俊哉
価格 本体3200円(税別)
ISBN 978-4-7980-5284-7
発売日 2017/9/23
判型 B5変
ページ数 844
CD/DVD
ダウンロード
表紙イメージ
購入 アマゾンで購入する
楽天で購入する

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

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

サポート

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

サポート情報へのリンク

目次

0.1 Visual C#プログラミングをゼロからスタート

0.2 プログラミングの知識がなくても大丈夫!!

Chapter1 Visual C#ってそもそも何?

1.1 Visual C#ってそもそも何をするものなの?

1.1.1 Visual C#とVisual Studio

C#とVisual C#

Visual Studioはアプリを開発するためのアプリ

Visual Studioでは3つの言語が使える

1.2 .NET Frameworkの概要

1.2.1 .NET Frameworkの構造

.NET Frameworkの構成

1.2.2 CLR(共通言語ランタイム)の構造

CLR(共通言語ランタイム)が必要な理由

Memo C、C++とC#の関係を教えてください

CLR(共通言語ランタイム)に含まれるソフトウェアを確認する

1.2.3 Visual C#のための開発ツール

Visual C#の学習なら「Community」

1.3 VS Community 2017のダウンロードとインストール

1.3.1 Visual Studio Community 2017のダウンロードとインストールの手順

Visual Studio Community 2017を終了する

Memo Visual Studio Community 2017のスタートページ

1.4 VS Community 2017によるデスクトップアプリ開発

1.4.1 デスクトップアプリ開発の流れ

Memo ソリューション

Memo Visual Studioと.NET Frameworkのバージョン

1.5 プログラム用ファイルの作成と保存

1.5.1 プロジェクトの作成

プロジェクトを保存して閉じる

作成済みのプロジェクトを開く

プロジェクト作成時に生成されるファイルを確認する

Memo コンソールアプリケーション作成時に生成されるファイルやフォルダー

1.6 Visual Studioの操作画面

1.6.1 Visual Studioの作業画面(ドキュメントウィンドウ)

フォームデザイナーを起動する

Hint フォーム用のファイル

コードエディターを表示する

1.6.2 Visual Studioで使用する各種のツール

ツールボックスを表示する

Memo C#のバージョンアップ時に追加された機能(その①)

Memo C#のバージョンアップ時に追加された機能(その②)

ソリューションエクスプローラーを表示する

プロパティウィンドウを表示する

ツールウィンドウの表示方法を指定する

1.6.3 ダイナミックヘルプを使う

Memo ツールウィンドウの自動非表示を解除する 58

Chapter2 Visual C#の文法

2.1 コンソールアプリケーションのプログラムの構造

2.1.1 ソースコードの実態(ステートメント)

ステートメントを記述する

コンソールアプリのコードはどうなっている?

Memo C#のバージョンアップ時に追加された機能(その③)

Memo Visual C#のキーワード

2.2 Visual C#で扱うデータの種類

Memo 値型のメモリー管理

Memo 値型のメモリ割り当て

2.2.1 CTS(共通型システム)

Visual C#のデータ型を確認する

2.2.2 データ型のタイプ(値型と参照型)

値型の特徴

Memo スタックとヒープ

Memo クラスとオブジェクト

参照型の特徴

Memo スタック割り当てはヒープメモリーの確保よりも高速で行われる

値型と参照型を使い分けられる理由

2.3 データに名前を付けて保持しよう(変数)

2.3.1 変数の使い方

変数を宣言する

変数に値を代入する

varによる暗黙の型を利用した変数宣言

Memo ヒープの使い方

変数名の付け方を確認する

2.3.2 ローカル変数とフィールド

ローカル変数とフィールドの宣言

ローカル変数とフィールドのスコープを確認する

2.4 変えてはいけない!(定数)

2.4.1 定数の使い方

定数の種類

ローカル定数の宣言

フィールドの定数を宣言

Memo 定数名の付け方

2.5 演算子で演算しよう

2.5.1 演算の実行

演算子の種類と使い方

代入演算子による簡略表記

Memo 前置インクリメント演算と後置インクリメント演算

Memo 単項演算子と二項演算子

Memo 単純代入演算子と複合代入演算子

文字列を比較する

Memo C#のバージョンアップ時に追加された機能(その④)

2.5.2 「税込み金額計算アプリ」を作る

Memo リテラル

ソースコードを入力する

2.6 データ型の変換

Memo 整数型への型キャストを行うメソッド

2.6.1 データ型の変換(暗黙的な型変換とキャスト)

暗黙的な型変換が行われる状況を確認する

Hint キャストを正しく行うための注意点

2.6.2 メソッドを使用した型変換(Convertクラスによる変換)

Memo C#のバージョンアップ時に追加された機能(その⑤)

2.6.3 値型から参照型への変換(Boxing)

2.6.4 数値を3桁区切りの文字列にする(Format()メソッド)

数値を3桁ごとに区切る

Memo #と0の違い

2.7 組み込み型

Memo 小数点以下の切り捨て

2.7.1 整数型

Memo 実数リテラルの表記法

Memo 整数型の変数宣言

データ型の不適切な指定によるエラーを回避する

Memo long型同士の演算

オーバーフローを回避する

Memo 浮動小数点数型への型キャストを行うメソッド

Memo オーバーフローをチェックする

2.7.2 浮動小数点数型

Memo C#のバージョンアップ時に追加された機能(その⑥)

2.7.3 10進数型

Memo decimal型への型キャストを行うメソッド

2.7.4 論理型

2.7.5 文字型

Memo bool型への型キャストを行うメソッド

Memo char型への型キャストを行うメソッド

Memo char型で使用する演算子

Memo char型の変数にエスケープシーケンスを代入するには

2.7.6 object型

Memo object型で使用する演算子

2.7.7 string型

Memo string型への型キャストを行うメソッド

2.7.8 string型の変数を使って繰り返し処理を行ってみる

Memo コメントの記述

2.8 名前空間(ネームスペース)

2.8.1 名前空間の定義

2.8.2 usingによる名前空間の指定

Memo usingキーワードを使ってエイリアスを指定する

2.9 ○○なら××せよ!

2.9.1 条件によって処理を分岐

Memo MessageBox.Show()メソッド

2.9.2 3つ以上の選択肢を使って処理を分岐

2.9.3 複数の条件に対応して処理を分岐

Memo 名前空間の特徴

2.10 繰り返しステートメント

2.10.1 同じ処理を繰り返す(for)

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

ゲームをイメージしたバトルシーンを再現してみよう

2.10.2 状況によって繰り返す処理の内容を変える

2つの処理を交互に繰り返す

3つの処理をランダムに織り交ぜる

2.10.3 指定した条件が成立するまで繰り返す(while)

条件が成立する間は同じ処理を繰り返す

必殺の呪文で魔物を全滅させる

無限ループ

処理回数をカウントする

whileを強制的に抜けるためのbreak

Hint ドキュメントコメント

2.10.4 繰り返し処理を最低1回は行う

2.10.5 コレクション内のすべてのオブジェクトに同じ処理を実行

Tips 特定のコントロールに対して処理を行う

Memo 「Controls」コレクションの中身を確認する

2.11 配列とコレクション

2.11.1 1次元配列を使う

1次元配列を利用したプログラムを作成する

Memo クォーテーション「'」とダブルクォーテーション「""」の使い方がわかりません

Memo インデクサーを使う

1次元配列を利用したプログラムを実行する

2.11.2 2次元配列を使う

2次元配列を利用したプログラムを作成する

Memo varを使用した配列の宣言

Memo コレクション初期化子

プログラムの実行

Memo 初期化子

2.11.3 コレクション・クラス

Hint 小数以下の値を四捨五入するには

2.12 ジェネリック

2.12.1 ジェネリッククラス

Hint コンソールがすぐに閉じてしまうときの対処法

Hint ジェネリッククラスとArrayListクラスの処理時間の比較

Tips "Dictionaryクラス"

Tips ListジェネリッククラスにおけるActionデリゲートの使用

Hint カッコの使い方

2.12.2 型パラメーターを持つクラス

コード解説

複数の型パラメーターを持つクラス

Memo ==演算子における値型と参照型の判定結果の違い

2.12.3 ジェネリック・メソッド

2.13 イテレーター

2.13.1 イテレーターによる反復処理

イテレーターを使ったプログラム

Memo +演算子

2.14 LINQによるデータの抽出

2.14.1 LINQとクエリ式

配列から特定の範囲の数値を取り出す

文字配列から特定の文字で始まるデータを取り出す

Memo ラスターグラフィックスとベクターグラフィックスの違い

2.14.2 LINQを利用した並べ替え

Memo クエリ式をメソッドの呼び出し式に書き換える

2.14.3 select句におけるデータの加工処理

Memo メソッドを使った式に書き換える

2.14.4 クエリの結果をオブジェクトにして返す

メソッドを使った式に書き換える

Hint 抽出するインスタンスを取り込む

2.15 構造体

2.15.1 構造体の概要

構造体を使ったプログラムを作成する

Tips 配列の要素数を求める

Hint 構造体とクラスの処理時間を計測してみる

2.16 列挙体

2.16.1 列挙体の概要

2.16.2 列挙体を使ったプログラムの作成

Chapter3 Visual C#の

オブジェクト指向プログラミング

3.1 クラスの作成

3.1.1 クラス専用ファイルの作成

空のクラスを作成する

Memo クラス名の付け方

3.1.2 フィールドとプロパティを定義する

プロパティを定義する

Memo getとsetに異なるアクセシビリティを設定する

3.1.3 メソッドの定義

Memo 論理演算子

Memo 読み取り専用と書き込み専用のプロパティ

3.1.4 操作画面の作成

イベントハンドラーの作成

プログラムを実行して動作を確認する

3.1.5 コンストラクターの定義

Tips プロパティにチェック機能を実装する

3.1.6 自動実装プロパティ

Memo パラメーターの既定値

3.2 メソッドの戻り値とパラメーターの設定

3.2.1 returnによるメソッドの強制終了

ifステートメントでメソッドを終了させる

ループを強制終了させる

Tips 自動実装プロパティの初期化

3.2.2 メソッドの戻り値とパラメーター

パラメーターと引数

3.2.3 値渡しと参照渡し

値渡しと参照渡しは値型や参照型とは異なる概念

outで参照渡しを簡潔に実行する

Memo 可変長のパラメーター

3.3 メソッドの呼び出し式

Tips パラメーターの並び順を無視して引数の並び順を決める

3.3.1 呼び出し式を使用したメソッド呼び出し

インスタンスメソッドの呼び出し

静的メソッドの呼び出し

Tips 式だけで構成されるラムダ式

Memo Funcの書き方

3.3.2 デリゲート経由のメソッド呼び出し

定義済みのデリゲート型

3.3.3 ラムダ式によるデリゲートの実行

ラムダ式の書き方

値を返すラムダ式

3.3.4 メソッドの戻り値をクラス型で返す

3.3.5 メソッドのオーバーロード

メソッドをオーバーロードする(パラメーターの型の相違)

メソッドをオーバーロードする(パラメーターの数の相違)

Memo 条件演算子を利用したifステートメントの省略

3.4 コンストラクター

3.4.1 コンストラクターの役割

コンストラクターのパラメーターを配列にする

コンストラクターのオーバーロード

Memo 継承のメリット

3.4.2 thisによる参照情報の付加

this()で別のコンストラクターを呼び出す

3.5 クラスを引き継いで子供クラスを作る(継承)

3.5.1 スーパークラスとサブクラスを作成してみる

スーパークラスを継承してサブクラスを作る

3.5.2 継承におけるコンストラクターの扱い

Memo 継承に含まれない要素

基本クラスのコンストラクターの呼び出し

パラメーター付きコンストラクター呼び出し時のエラー

Memo オーバーライドとオーバーロード

3.5.3 サブクラスでメソッドをオーバーロードする

スーパークラスのメソッドの呼び出し

3.6 メソッドを改造して同じ名前で呼び分ける

(オーバーライドとポリモーフィズム)

3.6.1 オーバーライドによるメソッドの再定義

オーバーライドを利用したチャットボット「C#ちゃん」の作成

ポリモーフィズムによってオーバーライドされたメソッドを呼び分ける

応答クラスのスーパークラス

核心の対話処理その1

核心の対話処理その2

イベントハンドラーの定義

3.7 もう一度ポリモーフィズム

3.7.1 基本クラス型の参照変数の利用

スーパークラス型の変数にサブクラスのインスタンスを割り当てる

3.7.2 インスタンスの型によるオーバーライドメソッドの有効化

起動するオーバーライドメソッドの指定

Hint 実装したメソッドと同名のメソッドを定義する

3.7.3 オーバーライド/オーバーロードされたメソッドを呼び分ける

3.8 抽象クラスとインターフェイス

3.8.1 抽象クラス

3.8.2 スーパークラスを抽象クラスにしてポリモーフィズムを実現する

3.8.3 インターフェイスの概要

3.8.4 インターフェイスの作成

3.8.5 インターフェイスの実装

インターフェイスをクラスに実装する

3.8.6 インターフェイスを実装してメソッド呼び出しの仕組みを作る

インターフェイスの作成

基本クラスと派生クラスの作成

操作画面とイベントハンドラーの作成

Memo abstractを付けるとどんなクラスでも抽象クラスになる

3.9 デリゲート

3.9.1 デリゲートの特徴と用途

デリゲートを活用する

静的メソッドの登録

privateメソッドの登録

複数の委譲先をまとめて登録する

3.9.2 デリゲートを独立したスレッドで処理する

3.10 メソッドと配列における参照変数の利用

3.10.1 参照型のパラメーター

3.10.2 インスタンス同士の演算

Hint 初期値をセットしてクラス型の配列を作成する

3.10.3 クラス型の配列

複数のフィールドを持つクラスを配列要素で扱う

Chapter4 デスクトップアプリの開発

4.1 Windowsフォームアプリケーションのプログラムの構造

4.1.1 Windowsフォームアプリケーションの実体 ?プログラムコードの検証

Memo プロセスとスレッド

Hint ヘルプでプロパティの内容を調べるには

4.1.2 プログラム実行の流れ

フォームが終了されるプロセス

フォームにボタン追加時のプログラムコードを確認する

Memo ビルド

4.2 デスクトップアプリ(UI)の開発

4.2.1 Windowsフォームの役割と種類

4.2.2 コントロールの種類

Memo 文字列の改行

Hint Visual Studioのインテリセンスを使ってコードを入力する

4.3 フォームの操作

4.3.1 フォームの名前を変更する

フォームの名前を変更する

Hint [プロパティ]ウィンドウを使ってフォームのサイズを変更する

フォームの背景色を変更する

Hint Color構造体

Memo 色の指定

Memo [BackColor]プロパティの設定

Memo [リソースの選択]ダイアログボックス

タイトルバーのタイトルを変更する

Memo タイトルバーの[Text]プロパティの設定

フォームを半透明にする

タイトルバーのアイコンを取り換える

4.3.2 フォームの表示位置の指定

プログラム起動時にFormを画面中央に表示する

Onepoint [StartPosition]プロパティの設定

Memo [StartPosition]プロパティで指定できる値

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

Onepoint [Location]プロパティの設定

4.4 コントロールとコンポーネントの操作

4.4.1 コントロールの操作

コントロールに表示するテキストを変更する

テキストのサイズやフォントを指定する

Memo ツールバーに[レイアウト]が表示されていない場合は

テキストや背景の色を指定する

Memo [ForeColor]プロパティと[BackColor]プロパティの設定

GroupBoxを利用して複数のコントロールを配置する

4.4.2 コントロールのカスタマイズ

タブインデックスを設定する

Tips フォーカスを得られないようにするには

Tips フォーム上にグリッドを表示する

テキストボックスの入力モードを指定する

Memo [ImeMode]プロパティ

ツールヒントを表示する

アクセスキーを設定する

タブを使って画面を切り替えられるようにする

Memo (Name)プロパティの設定

4.4.3 メニューを配置する

メニューの項目を設定する

Onepoint [Opacity]プロパティの設定

Hint メニューの項目やサブメニューに削除するには

Tips メニュー項目に区分線を入れる

メニューにアクセスキーを割り当てる

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

右クリックメニューを設定する

Memo コントロールのTextプロパティの設定

4.4.6 ツールバーの配置

ツールバーを配置する

Memo メニューを追加する

4.5 イベントドリブンプログラミング

Hint サブメニューを追加するには

4.5.1 ボタンコントロールでイベントを処理する

ボタンクリックで別のフォームを表示する

Hint フォームをモードレスで開くには

ボタンクリックでフォームを閉じる

Memo フォームを閉じるステートメント

フォームを閉じると同時にプログラムを終了する

Onepoint プログラムを終了させるExit()

ボタンクリックでフォームのサイズを変更する

ボタンクリックでフォームの表示位置を変更する

Onepoint フォームのサイズを変化させるステートメント

ボタンクリックで背景色を変える

ボタンクリックでフォームを透明にする

ボタンクリックでタイトルバーのボタンを非表示にする

4.5.2 テキストボックスの利用

入力したテキストをラベルに表示する

Onepoint タイトルバーのボタンを非表示にするステートメント

ログインフォームを作る

入力された文字列を数値に変換する

Onepoint フォームの位置を変化させるステートメント

4.5.3 チェックボックスとラジオボタンの利用

チェックボックスを使う

ラジオボタンを使う

Memo リストボックスで複数選択を可能にする

4.5.4 リストボックスの利用

選択した項目を取得する

複数の項目を選択できるようにする

Onepoint チェックボックスのチェックの状態を取得する

リストボックスに項目を追加できるようにする

Memo リストボックスにアイテムを追加/削除する

4.6 イベントドリブン型デスクトップアプリの作成

4.6.1 誕生日までの日数を計算する

Memo DateTimePickerコントロールを利用した処理

Memo 「MessageBoxButtons」列挙型

4.6.2 メッセージボックスを使う

4.6.3 メニューが選択されたら処理を行う

Hint メニューを利用してコントロールを整列させる

4.6.4 他のアプリケーションとの連携

プログラムを終了する処理を追加する

Onepoint スクロールバーの表示

4.7 現在の日付と時刻の表示

4.7.1 日付と時刻を表示するアプリ

日付と時刻を表示するプログラムを作成する

Memo Timerコンポーネント

時刻をデジタル表示するアプリ

4.7.2 ストップウォッチの作成

Hint 「DateTime」型のデータから任意の値を取り出す

Memo ストップウォッチプログラムの仕組み

Memo 整列用のボタン

4.8 ファイルの入出力処理

4.8.1 テキストエディターの操作画面を作る

Memo テキストボックスのプロパティ

4.8.2 ダイアログボックスを利用したファイル入出力

ダイアログボックスを使ってファイルを開くための処理を記述する

Memo [保存]ボタンまたは[キャンセル]ボタンがクリックされたときの処理

Memo 左右の間隔調整用のボタン

4.9 印刷機能の追加

Memo サイズ揃え用のボタン

4.9.1 印刷機能の組み込み(PrintDocumentとPrintDialog)

[印刷]ダイアログボックスを使って印刷が行えるようにする

Memo 上下の間隔を調整するボタン

Tips パスワード欄に入力可能な文字数を設定しておく

PrintDocumentオブジェクトの印刷内容を設定する

4.9.2 印刷プレビューとページ設定の追加

[印刷プレビュー]ダイアログボックスを表示する機能を追加する

[ページ設定]ダイアログボックスを表示する

Memo [印刷プレビュー]ダイアログボックスの表示

4.10 子ウィンドウを持つアプリケーションの作成

4.10.1 リッチテキストボックスを配置した子フォームの操作(MDIの利用)

親フォームを作成する

子ウィンドウを作成する

子フォームを開くためのコードを記録する

子フォームにファイルを読み込むコードを記述する

Hint MouseClickイベントの種類とイベントの内容

子フォームの内容をファイルに保存する

Memo 子フォームの表示

Onepoint 子ウィンドウのタイトルに連番を割り当てる

Hint LoadFileメソッドのパラメーター

終了と書式設定メニューに対する処理を記述する

4.11 例外処理

Memo エラーの種類とエラー関連の用語

4.11.1 構造化エラー処理?try...catchステートメント

4.11.2 try...catchステートメントを利用した例外処理の実際

4.11.3 エラー内容の取得

4.12 デバッグ

4.12.1 ステートメントの1行単位の実行?ステップ実行

ステップインでステートメントを1行ずつ実行する

Memo [デバッグの停止]ボタンと[続行]ボタン

4.12.2 指定したステートメントまでの実行(ブレークポイントの設定)

Memo ブレークポイントの解除

中断しているステートメント内の変数の値を確認する

メソッドに含まれるすべてのローカル変数の値を確認する

4.13 Visual C#アプリの実行可能ファイルの作成

4.13.1 アセンブリとビルド

4.13.2 ビルドの準備

Memo 各種情報の表示

実行可能ファイルの名前を設定する

4.13.3 実行可能ファイルの作成

作成したEXEファイル(実行可能ファイル)を実行する

Memo 実行可能ファイルが保存されているフォルダー

Chapter5 ADO.NETによる

データベースプログラミング

5.1 ADO.NETの概要

5.1.1 ADO.NETとデータベースプログラミング

ADO.NETの実体はクラスライブラリ

ADO.NETのインストール先

5.1.2 データベース管理システム

SQLによるデータベースの操作

データベースファイルとテーブル

5.2 データベースの作成

5.2.1 データベースを作成する

Memo データベースヘの接続と切断

5.2.2 テーブルの作成

Memo テーブル名の指定

作成したテーブルを確認する

Hint プライマリーキー

Memo SQL Serverで使用する主なデータ型

Memo コードペイン

5.2.3 データの登録

5.3 データベースアプリの作成

5.3.1 接続文字列の作成

5.3.2 データベース操作の概要

データプロバイダーによるデータベースへのアクセス

SqlConnectionクラスによる接続

SqlCommandインスタンスへのSQL文の格納

Hint テーブルの内容を変更するには

SqlDataReaderインスタンスからのレコード取得

5.3.3 操作画面の作成とイベントハンドラーの作成

テーブルデータを表示するイベントハンドラーの作成

Memo データを登録する ?INSERT INTO...VALUES

5.3.4 指定したデータの抽出

Memo 指定したデータを抽出する

住所を指定して抽出する

Memo 指定した文字を含むデータを検索する ?LIKEによるあいまい検索

Memo ListBoxのクリア

5.3.5 データ登録用フォームの作成

5.3.6 データ消去用フォームの作成

5.4 データセットによるデータベースプログラムの作成

5.4.1 データセットを利用したデータベースプログラミング

データセットの仕組み

ADO.NETのクラス

Memo レコード単位でデータを削除する

データセットを作成する

データセットをフォームに登録する

Memo 接続文字列の構造

5.4.2 プログラムの改造

[データのロード]と[更新]ボタンを配置する

Hint SQLの基本的な書き方

5.5 LINQを利用したデータベースアプリケーションの開発

5.5.1 LINQ to DataSetの作成

データセットの作成

Memo LINQを使うメリット

Memo 接続文字列の確認

LINQ to DataSetでデータベースのデータを抽出する

作成したプログラムを実行する

Chapte6 マルチスレッドプログラミング

6.1 マルチスレッドプログラミング

6.1.1 CPUの動作

CPUの動作サイクル

CPUの高速化技術

Memo CPUとは

6.1.2 CPUにおけるマルチタスク処理

ジョブ管理

タスク管理

6.1.3 スレッドの生成による処理の効率化

マルチタスクOSにおけるスレッドの生成

6.2 Threadクラスを使用したスレッドの作成と実行

6.2.1 Threadクラスによる「スレッド」の生成と実行

マルチスレッドの基本、Threadクラスによる「スレッド」の生成

Threadクラスを使ってスレッドの生成を行うプログラムを作成する①

Onepoint ラムダ式を使った記述

Memo マルチスレッドの利便性

Threadクラスを使ってスレッドの生成を行うプログラムを作成する②

Tips クロック倍率

Memo スレッドの状態の推移

Memo ロック

Threadクラスを使ってスレッドの生成を行うプログラムを作成する③

6.2.2 Sleepによるスレッドの交互操作

スレッドを交互に実行させる

6.2.3 別スレッドで実行中のメソッドへの引数渡し

別スレッドで実行中のメソッドへ引数を渡す

Memo タスクの状態の切り替え

6.2.4 フォアグラウンドスレッドとバックグラウンドスレッド

フォアグラウンドとバックグラウンドを交互に実行するプログラムの作成

Tips タスクスケジューリングの方法

Memo フォアグラウンドスレッドとバックグラウンドスレッドの切り替え

6.2.5 スレッドが終了するまで待機させる

Main()メソッドでスレッドの終了を待機する

6.2.6 スレッドの破棄

特定のスレッドを破棄する

Hint CPUとクロック

6.2.7 Monitorクラスを使用した同期制御

同期制御が必要な理由

Monitorクラスを使用した同期制御

6.2.8 lockを利用した排他制御

lockステートメントを使う

6.2.9 競合状態とデッドロック

競合状態の発生

デッドロック

Hint Monitorクラスのメンバー

6.3 ThreadPoolクラスとデリゲートでのマルチスレッドの実現

6.3.1 ThreadPool(スレッドプール)でのマルチスレッド

スレッドプールによる引数渡し

Memo マルチコア

6.3.2 非同期デリゲートによるマルチスレッド

非同期処理

Memo 複数のスレッドに対して安全な「スレッドセーフ」

Tips Monitorクラス

6.4 Parallelクラスでサポートされたマルチスレッド

6.4.1 Parallelクラス

ParallelクラスのInvoke()メソッド

Onepoint Threadオブジェクトにラムダ式でメソッドを登録する

foreachステートメントのParallel.ForEach()メソッドへの置き換え

Tips forステートメントをパラレル処理する

6.4.2 スレッドの進捗状況の表示

スレッドの進捗状況を表示するプログラムを作成する

6.4.4 スレッドの中止

Chapte7 ASP.NETによる

Webアプリケーション開発の概要

7.1 ASP.NETによるWebアプリ開発の概要

Memo IISのインストール

7.1.1 Webアプリの概要

Webフォームコントロール

7.1.2 Visual C#におけるWebアプリケーションの開発

7.2 ASP.NETを利用したアプリケーションの作成

7.2.1 Webサイトの作成

7.2.2 Webアプリの作成

デザインビューを表示できるようにする

Webフォームを作成する

Webフォーム上にコントロールを配置する

イベントハンドラーで実行するコードを記述する

作成したWebアプリの動作を確認する

7.3 ASP.NETを利用したデータアクセスページの作成

7.3.1 データベース連携型Webアプリの作成

データ接続の作成

データソースとグリッドビューを作成する

グリッドビューのデザインを設定する

グリッドビューの機能を設定する

7.3.2 Webアプリケーションの動作確認

Chapte8 ユニバーサルWindowsアプリの開発

8.1 ユニバーサルWindowsアプリの概要

8.1.1 ユニバーサルWindowsアプリの開発環境

ユニバーサルアプリ用に作成する実行関連ファイル

8.1.2 XAMLの基礎

XAML要素のコンテンツ

8.2 ストアアプリ用プロジェクトの作成およびストアアプリの実行

8.2.1 ユニバーサルアプリ用プロジェクトの作成

Hint 画面の分割を解除する

8.2.2 メッセージを表示するアプリ

ButtonとTextBlockを配置する

プロパティを設定する

メッセージを表示するイベントバンドラーを作成する

Memo 各プログラミング言語で利用する画面構築用の言語

プログラムを実行する

Memo シミュレーターを利用したプログラムの実行

8.3 画面のレイアウトと各種のコントロールの利用

8.3.1 コントロールを横に並べる

Buttonを横に並べる

Memo Gridの表示位置の指定

8.3.2 コントロールを格子状に並べる

Buttonを格子状に並べる

Memo デザイナーの画面

8.4 画像ファイルの表示

Memo Microsoft社のサイトからフリーの素材を入手する

8.4.1 Imageコントロールを利用した画像表示

イメージファイルの用意

イメージファイルの表示方法

プロジェクト内のイメージをVisual C#のコードで表示する

Memo XAMLとは

イベントに対応してイメージファイルを表示するプログラムの作成

8.4.2 ダイアログを利用した画像の表示

ファイル選択ダイアログを利用してイメージファイルを表示する

Memo Imageコントロールで表示可能なファイル形式

8.5 Webページの表示

8.5.1 Webブラウザーの作成

Webページの表示方法を確認する

Webブラウザーを作成する

Appendix 資料

Appendix 1 関数、メソッド、プロパティ、イベント

文字列の操作に関するあ関数とメソッド

日付/時刻の操作に関するメソッドおよびプロパティ

データ型の変換を行う関数とメソッド

数値の演算を行うメソッド

財務処理を行う関数

ファイル/ディレクトリの操作を行うメソッド

Formオブジェクト(System.Windows.Forms 名前空間)のプロパティ、

メソッド、イベント

コントロールに共通するプロパティ、メソッド、イベント

各オブジェクトに対する接頭辞(プリフィックス)

Appendix 2 用語集

PR

秀和システム