ゴールからはじめるC#
「作りたいもの」でプログラミングのきほんがわかる

書籍の概要

この本の概要

「難しいことは置いといて,プログラミングを学んでみたい」「文法を詰め込まれても,結局使いどころがわからない」本書は,そんな悩みを解消するC#プログラミングの入門書です。神経衰弱ゲームやモグラたたきゲームなどを作成するために必要な知識を解説します。作りたいもの(ゴール)から逆算してプログラミングを学ぶので,「プログラムをつくる」手順がわかりやすく理解できます。章末の練習問題では作成したプログラムよりもやや難易度の高いプログラムを作ることになるので,基本はもちろん,応用的な思考力まで身につけられます。

こんな方におすすめ

  • C#を勉強したいプログラミング初心者
  • 自分でプログラムをつくれるようになりたい方

目次

CHAPTER 1 Visual C#とはなんだろう?

1-1 プログラミングをはじめる前に

  • プログラムの役割
  • プログラミング言語

1-2 どうしてVisual C#を学ぶの?

  • C#とVisual C#
  • Visual Studio
  • .NET Framework

1-3 Visual C# 2015の開発環境を整えよう

  • Visual Studio 2015のエディション
  • Visual Studio Community 2015のインストール

1-4 かんたんなアプリケーションを作成しよう

  • Visual Studioを起動する
  • 新しいプロジェクトの作成
  • アプリケーションの実行
  • ファイルの保存
  • Visual Studioを終了する

1-5 Visual C#の基本操作をマスターしよう

  • 既存のプロジェクトを開く
  • Visual C#の操作画面
  • 操作画面のカスタマイズ
  • コラム コモンコントロール一覧

1-6 Visual C#の構造をつかもう

  • ソリューションとプロジェクト
  • C#の基本構造

1-7 ヘルプを活用しよう

  • F1キーでヘルプを表示する
  • ヘルプメニューからヘルプを表示する
  • コラム インテリセンス

CHAPTER 2 名前を表示してコントロールとイベントを理解しよう
~入力した名前を表示するデスクトップアプリケーションの作成

2-1 フォーム画面にコントロールを配置しよう

  • フォームにコントロールを配置する
  • コントロールのサイズを変更する
  • コントロールを移動する
  • コントロールをコピーする
  • コントロールの配置を整える

2-2 コントロールのプロパティを変更しよう

  • Nameプロパティ
  • Textプロパティ
  • Fontプロパティ

2-3 イベントを発生させよう

  • ボタンクリックのイベントハンドラの追加
  • 文字列のラベル表示とコメントを追加する
  • フォームロード時に空文字列を追加する

2-4 タブオーダーを設定する

  • タブオーダーの設定を変更する
  • TabIndexプロパティとTabStopプロパティ

2-5 ビルドの仕組みを理解する

  • デバッグ構成でのビルド
  • リリース構成でのビルド

練習問題

CHAPTER 3 消費税を計算して変数と演算子を理解しよう
~入力した金額の税込み金額を表示するデスクトップアプリケーションの作成

3-1 変数とデータ型

  • データ型
  • 変数の宣言
  • 変数名の付け方
  • 変数の代入と初期化
  • コラム var型

3-2 リテラル

  • 整数リテラル
  • 実数リテラル
  • ブール型リテラル
  • 文字リテラル
  • 文字列リテラル
  • サフィックス

3-3 定数

3-4 演算子

  • 算術演算
  • 代入演算
  • 演算子の優先順位
  • コラム エスケープシーケンス

3-5 データ型が異なるものどうしの演算

  • 暗黙の型変換
  • 明示的な型変換
  • 文字列型とほかの型で演算を行う場合

例題のアプリケーションの作成

練習問題

CHAPTER 4 成績を判定して選択制御とメソッドを理解しよう
~成績を入力すると合否の判定をするデスクトップアプリケーションの作成

4-1 分岐や繰り返しを行うために

4-2 条件によって動きを変えるには

  • if文
  • switch文
  • コラム 条件演算子

4-3 処理を分割してプログラムを簡潔にする

  • メソッドの定義
  • 引数
  • 戻り値
  • 値の渡し方
  • メソッドのオーバーロード

4-4 例外が発生した場合の処理を決めておく

  • 例外クラス
  • 例外を起こさないコード

例題のアプリケーションの作成

4-5 デバッガをマスターしよう

  • ブレークポイント
  • ステップ実行
  • 動作中の値の確認

練習問題

CHAPTER 5 割り算で繰り返し制御を理解しよう
~商を小数点以下50桁まで表示するコンソールアプリケーションの作成

5-1 コンピュータを対話形式で操作しよう

  • コンソールアプリケーションの作成
  • Mainメソッド
  • コンソールアプリケーションで値を表示する
  • コンソールアプリケーションで値を入力する

5-2 処理を繰り返し実行させる

  • for文
  • forの多重ループ
  • while文
  • do~while文

5-3 繰り返しの流れを途中で変える

  • break文
  • continue文
  • goto文
  • コラム 無限ループ

例題のアプリケーションの作成

練習問題

CHAPTER 6 アラーム&タイマーでオブジェクト指向の基本を理解しよう
~アラーム&タイマーのデスクトップアプリケーションの作成

6-1 オブジェクト指向ってなんだろう

  • オブジェクト指向でプログラミングは変わった
  • クラスとは
  • オブジェクトとは
  • インスタンスとは

6-2 Visual C#とオブジェクト指向

  • Windowsフォームアプリケーションとオブジェクト指向
  • 名前空間(ネームスペース)
  • 新しいフォームの追加
  • メッセージボックス
  • コラム 構造体

6-3 変数の有効範囲(スコープ)を決める

  • ローカル変数の有効範囲
  • フィールドの有効範囲

6-4 日付と時間の操作を行う

  • Timerコンポーネント
  • DateTime構造体

例題のアプリケーションの作成

練習問題

CHAPTER 7 成績判定を作り替えてカプセル化を理解しよう
~成績を判定するデスクトップアプリケーションの作成

7-1 クラスとインスタンスの関係

  • クラスの定義
  • インスタンスの生成
  • 値型と参照型
  • Visual C#によるクラスの生成
  • クラスのメンバーにアクセスする

7-2 カプセル化

  • プロパティ
  • コンストラクター
  • thisキーワード
  • コラム 自動実装プロパティの新機能

例題アプリケーションの作成

練習問題

CHAPTER 8 競争ゲームで継承を理解しよう
~乗り物のスピードを競うデスクトップアプリケーションの作成

8-1 クラスの継承を理解しよう

  • 継承の考え方
  • 派生クラスの生成
  • 継承とコンストラクター
  • protectedアクセス修飾子
  • メンバーの隠蔽
  • オーバーライド

8-2 Randomクラスで乱数を生成する

  • Randomクラスのインスタンスの生成
  • 疑似乱数の発生

8-3 ユーザの操作とイベントを知る

  • マウス操作で発生するイベント
  • キーボード操作で発生するイベント

例題のアプリケーションの作成

練習問題

CHAPTER 9 神経衰弱で配列を理解しよう
~24枚のカードを使った「神経衰弱」デスクトップアプリケーションの作成

9-1 複数のデータは配列にしよう

  • 1次元配列
  • 配列は参照型
  • 参照型の配列
  • 配列のプロパティとメソッド
  • 多次元配列

9-2 配列を一括して参照するには

  • foreachの基本的な使用方法
  • foreachでクラスの配列のメンバーを変更する

9-3 文字列の操作

  • 文字列を操作する
  • 文字列オブジェクトは変更できない
  • コラム 列挙型

例題のアプリケーションの作成

練習問題

CHAPTER 10 モグラ叩きでポリモーフィズムを理解しよう
~いろいろな動物を叩く「モグラたち叩き」デスクトップアプリケーションの作成

10-1 同じメソッドで異なる動作をさせるには

  • アップキャスト
  • 仮想メソッド
  • 抽象メソッド
  • コラム インターフェース

10-2 インスタンスに属さない静的メンバー

  • インスタンスメンバー
  • 静的メンバー
  • 静的クラス

10-3 数式を使う際に欠かせないMathクラス

  • Mathフィールド
  • Mathメソッド

例題のアプリケーションの作成

練習問題

CHAPTER 11 予告編作成でファイル入出力を理解しよう
~3人分の名前を入力して予告編を作るデスクトップアプリケーションの作成

11-1 ファイルを読み込む/書き出すプログラムを作成しよう

  • テキストをファイルに書き込む
  • テキストをファイルから読み込む
  • コラム CSV

11-2 ディレクトリとファイル操作

  • ディレクトリとは
  • 主なディレクトリ操作
  • 主なファイル操作

11-3 ジェネリックコレクションでデータを操作する

  • Listクラス
  • Dictionaryクラス

例題のアプリケーションの作成

練習問題

著者プロフィール

菅原朋子(すがわらともこ)

ソフトウェア開発会社にてアプリケーション開発に携わる。現在,福島県立テクノアカデミー郡山職業能力開発短期大学校講師。担当科目は C# および C言語プログラミング,基本情報技術者試験対策。その他,卒業研究においてプログラミング言語,開発プラットフォームにかかわらず広くアプリケーション開発の指導を行う。
著書に『ドリル &ゼミナール C 言語』,『速習 C 言語入門』(いずれもマイナビ出版)がある。