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

書籍の概要

この本の概要

「難しいことは置いといて,プログラミングを学んでみたい」「文法を詰め込まれても,結局使いどころがわからない」そんな悩みを解消するC#プログラミングの入門書です。最新のVisaul Studio 2019,C# 7.3に対応させ,内容もさらにわかりやすくなりました!神経衰弱ゲームやモグラたたきゲームなど,「作りたいもの(ゴール)」から逆算してプログラミングを学んでいくので,プログラムを組み立てる力が身につきます。

こんな方におすすめ

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

著者の一言

本書は初めてプログラミングを学ぶ方のためのC#の入門書です。単なる文法書ではなく,無料の統合開発環境「Visual Studio Community 2019」を使って楽しくアプリケーションを作りながら,C#の基本的な文法とプログラミングのノウハウをしっかり学ぼうというちょっと欲張りな本です。

プログラミングはとても楽しい作業です。でも,文法がわからないとちっともはかどらなくて,だんだん嫌になってしまいますよね。だからといって,最初に文法だけ勉強するのもしんどいです。じゃあどうすれば楽しく効率的に学べるでしょう。それは,文法の勉強とプログラミングを並行して行うことです。

初心者がプログラミングを学ぶのにC#は最適なプログラミング言語です。開発現場での需要も多く,ほかの主流となっているプログラミング言語のC++やJava,JavaScriptなどと文法も似ています。さらに,オブジェクト指向もしっかりと学ぶことができます。そして,Visual Studioを使うことで,Windows上で動くプログラムを手軽に開発することができます。

本書はそんなC#を使って「神経衰弱」や「モグラ叩き」のような楽しいプログラムを作りながら文法を学びます。本書で作成するのはC#開発の基本となるWindowsフォームアプリケーションですが,しっかり学習するとC#プログラミングの基礎が身に付きます。ですから,本書の学習が終わったあとは,WPFと呼ばれる開発手法でデスクトップアプリケーションを作成してもいいですし,データベースを使ったアプリケーション開発に挑戦してもいいでしょう。さらにステップアップして,Webアプリやモバイルアプリ,またはUnityなどを利用してC#でゲーム開発を行うこともできます。本書から広がるプログラミングの世界は無限大です。

本書がみなさまのプログラミングの入り口となり,その楽しさを知っていただければ幸いです。

『はじめに』より

目次

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

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

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

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

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

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

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

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

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

1-5 Visual C#の操作画面

  • ウィンドウの種類
  • 操作画面のカスタマイズ

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

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

1-7 Microsoft Docsを活用しよう

  • F1キーでドキュメントを表示する
  • URLにアクセスしてMicrosoft Docsを表示する

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 神経衰弱で配列を理解しよう

9-1 配列でデータをまとめよう

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

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

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

9-3 文字列を操作する

  • 文字列のプロパティとメソッド
  • 文字列オブジェクトは変更できない
  • コラム 列挙型

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

練習問題

CHAPTER 10 モグラ叩きでポリモーフィズムを理解しよう

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

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

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

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

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

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

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

練習問題

CHAPTER 11 予告編作成でファイル入出力を理解しよう

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

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

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

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

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

  • Listクラス
  • Dictionaryクラス

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

練習問題

著者プロフィール

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

ソフトウェア開発会社にてアプリケーション開発に携わる。現在,福島県立テクノアカデミー郡山職業能力開発短期大学校講師。担当科目はC#およびC言語プログラミング,基本情報技術者試験対策,卒業研究など。
著書に『ドリル&ゼミナールC 言語』,『速習C 言語入門』(いずれもマイナビ出版)がある。また,2016年よりオンライン動画学習サイト『LinkedIn ラーニング』にてプログラミング基礎講座の講師も手掛ける。