ITエンジニアになる! チャレンジ C#プログラミング

概 要

将来はプログラマーになりたい。けれども、何から手を付けていいのかわからない。そんなあなたにうってつけのプログラミング言語がC#です。本書は、本格的なオブジェクト指向言語でありながら、無料で使用できる手軽さと使い勝手の良さで定評のあるプログラミング言語「C#」を使って、プログラミングの最初の一歩をわかりやすく解説した入門書です。また、新人ITエンジニアが知っておくべき、システム開発フローなども紹介します。

著者 横山達大
価格 本体2300円(税別)
ISBN 978-4-7980-5259-5
発売日 2018/3/14
判型 B5変
ページ数 268
CD/DVD
ダウンロード
表紙イメージ
購入 アマゾンで購入する
楽天で購入する

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

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

サポート

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

サポート情報へのリンク

目次

Chapter 0 プログラマーになるということ

0-1 システム開発のフロー

開発工程について

最も重要なのは要件定義

プログラマーはプログラムを書くだけではない

0-2 よりよいプログラマーになるために

ソフトウェア設計の重要性

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

本書の構成

Mission 1 パスワード生成アプリの開発

Chapter 1 C#の基本

1-1 数値をランダムに生成せよ!

プロジェクトの作成

自動生成されるコードについて

Randomクラス

ランダムな数値を繰り返す

forステートメント

1-2 メソッドを活用せよ!

メソッドとは

アクセス修飾子とは?

staticとは?

メソッドの呼び出し

メソッドを作成する理由

メソッドのメリット

1-3 英字をランダムに生成せよ!

ASCIIコード

コメントについて

英小文字をランダムに生成する

英大文字をランダムに生成する

1-4 記号をランダムに生成せよ!

配列について

記号をランダムに生成する

デバッグの活用

1-5 パスワードを生成せよ!

ランダムな数字を1文字返すメソッドの作成

英小文字・英大文字・記号をランダムに

1文字返すメソッドの作成

数字、英小文字、英大文字、記号の4文字を

ランダムに生成する

周期性について

課題に対するメソッドを作成する

ifステートメント

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

2-1 クラスを使おう!

Programクラスからの独立

クラスの作成

アクセス修飾子について

クラスにメソッドを追加する

MakePasswordメソッドを呼び出す

staticについて

コンストラクターを使う

各クラスの立場に立って考えてみる

2-2 継承を使おう!

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

アプリケーションに求められる機能を明確にする

クラスのグループ化

親クラスの作成

子クラスを作成する

メソッドのオーバーライド

残りの子クラスを作成する

2-3 ポリモーフィズムを使おう!

不要なメソッドの削除

継承のメリット

ポリモーフィズム

メソッドからクラスへ

パスワードの生成ルールを別のクラスにゆだねる

Factoryクラス

デザインパターンの重要性

2-4 抽象クラスを使おう!

新たなパスワードの生成ルールへの対応

パスワード生成ルールの選択に対応する

抽象クラス

抽象クラス

Visual Studioのコード支援機能

2-5 インターフェイスを使おう!

インターフェイスの作成

Factoryクラスのインターフェイスの実装

MakePasswordメソッドを修正する

インターフェイスと抽象クラスどちらを使うべきか

多重継承とインターフェイス

ライトバルブ機能を有効に使う

2-6 静的メソッドを使おう!

新たなロジッククラスを用意する

Shuffleクラスを作成する

アルゴリズムの重要性

任意の文字列を並べ替えるアルゴリズム

Executeメソッドをコーディングする

Shuffleクラスを使ってランダムなパスワードを生成する

静的メソッド

静的クラス

先輩のセキュリティ講座

静的要素の挙動について

Visual Studioについて

Chapter 3 Windowsフォームアプリケーションの開発

3-1 コントロールの概要

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

MainFormクラスについて

コントロールを配置する

コントロールの表示文字列の設定

操作性を考慮したコントロールの配置

コントロール名を変更する

アプリをデバッグする

NumericUpDownコントロール

ボタンをクリックしたときに処理を行う方法

クリック時イベントについて

アップダウンコントロールの既定のイベントハンドラーを

作成する

3-2 MVCでの開発

プロジェクトにロジックを取り込む

追加されたプロジェクトの実体はリンク

MVCについて

Controllerクラスの作成と役割の確認

参照の追加

プロパティについて

プロパティを簡単にコーディングする

Controllerクラスにusingディレクティブを追加する

Controllerクラスを実装する

varキーワード

初期値を設定する

Viewの設定

コントロールの値に初期値を設定する

文字数の上限値・下限値を設定する

フォームのタイトルバーにアプリの名前を表示する

テキストボックスのフォントサイズを変更する

3-3 MVCにおける機能の追加

チェックボックスを配置する

Controllerクラスにプロパティを追加する

コントロールの値をプロパティIsNonMarkにわたす

Chapter 4 WPFアプリケーションの開発

4-1 XAMLの基本

プロジェクトを作成する

ボタンを追加する

ボタンのフォントサイズを設定する

ボタンの背景色を設定する

ボタンの文字の色を設定する

ウィンドウの背景色を設定する

ウィンドウの余白を設定する

MarginおよびPaddingの設定について

テキストボックスを追加する

Gridはレイアウト用のUI要素

Gridにコントロールを配置する

TextBlockを追加する

Grid要素の行の高さを設定する

Gridの列の幅について

4-2 パスワード生成アプリのXAML

パスワード生成アプリのユーザーインターフェイス

パスワード生成アプリのXAMLを作り込む

Gridを定義する

UI要素を追加する

ウィンドウの諸設定

ボタンの余白を設定する

CheckBoxを追加する

テキストを右揃えにする

背景色と文字の色を設定する

サイズ変更に制限を加える

ウィンドウのサイズ変更を無効にする

レイアウト用のUI要素について

4-3 MVVMでの開発

UIとロジックの分離の徹底

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

ViewModelクラスを作成する

データバインディング

ViewからViewModelへの通信

プロパティの値の更新のタイミングについて

アウトプット用UIのデータバインディングの設定

チェックボックスのデータバインディング

データバインディングはプロパティを使う

4-4 デリゲート

デリゲートとは

デリゲートの練習

Funcデリゲート

Actionデリゲート

デリゲートを使って処理を分岐する

ラムダ式

複数行の処理を行うラムダ式もある

4-5 デリゲートコマンド

Commandプロパティ用のヘルパークラスを作成する

DelegateCommand型のプロパティ

パスワードを生成するメソッドを作成する

処理を行う条件を担当するメソッドを作成する

MakePasswordプロパティに値を設定する

コマンドのデータバインディング

ViewとViewModelのデータバインディングの確認

MakePasswordプロパティの全体像

データバインディングにおける変更通知機能の欠落

値送信のタイミングによってボタンの有効・無効のタイミングが異なる

4-6 変更通知機能の実装

変更通知機能を持つクラスを追加する

MainWindowVMクラスの改良

アプリ起動時にテキストボックスを空欄にする

WPFはデータドリブンプログラミング

Mission 2 パスワード生成アプリの改良

Chapter 5 パスワードの生成ルールの追加

5-1 ロジックの構築

クラス設計の確認

Factoryクラスの追加

ロジックの構築

5-2 Windowsフォームアプリケーションの修正

フォームの変更

Controllerクラスにプロパティを追加する

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

起動時の設定

ラジオボタンとチェックボックス

5-3 WPFアプリの修正

XAMLの変更

MainWindowVMクラスにプロパティを追加する

データバインディングの設定

起動時の設定

Chapter 6 ロジックの改良

6-1 紛らわしい文字を排除する

修正の対象

修正のロジック

LowerLetterクラスの修正

UpperLetterクラスの修正

LINQによる配列の生成

LINQでパスワードの構成要素数を取得する

6-2 パスワードの末尾を記号にする

修正の対象

修正のロジックの概要

記号を含むかどうかの判断

末尾が記号かどうかの判定

StringBuilderクラス

パスワードの記号と位置を取得する

記号を末尾に移動する

ArrangeEndクラスの作成

MakePasswordメソッドの修正

6-3 クリップボードにコピーする

クリップボード

Windowsフォームアプリケーションの改良

WPFアプリの改良

Chapter 7 開発関連

7-1 フォルダリング

フォルダリングの重要性

コンソールアプリをフォルダリングする

クラスを追加するときの注意点

7-2 MVVMのプロジェクトテンプレート

プロジェクトテンプレート

プロジェクトテンプレートを作成する

テンプレートをエクスポートする

新規プロジェクトの作成

7-3 セットアップファイルの作成

ビルドの出力パス

ターゲットフレームワーク

ClickOnceアプリケーション

ClickOnceアプリケーションを発行する

PR

秀和システム