C#の入門者が覚えておきたい機能の特徴や開発環境の構築方法
今回はC#の特徴や機能を説明しながら、実際にVisual Studioで簡単なアプリを開発する方法を解説します。
今回はC#の特徴や機能を説明しながら、実際にVisual Studioで簡単なアプリを開発する方法を解説します。
スキルアップ
2022/08/26 UP
- プログラミング
- SE資格・スキル
- 入門
- C#
C#はMicrosoftが開発したプログラミング言語です。業務用アプリ以外にも近年ではUnityなどを使用したゲームアプリ開発などでも力を発揮している、幅広く対応可能な言語です。
また、統合開発環境(IDE)であるVisual Studioも併せて提供しているため、環境構築で挫折しにくい言語ともいえます。
今回はC#の特徴や機能を説明しながら、実際にVisual Studioで簡単なアプリを開発する方法を解説します。
C#の特徴 - はじめる前に知っておきたい.NET/.NET Frameworkとの関係
.NET FrameworkはMicrosoftが開発したフレームワークで、CIL(共通中間言語)とCLR(共通言語ランタイム)を使用できる言語で利用できます。C#も.NETを利用して実行できます。
主にWindowsのシステムやWebサービスの開発・実行に利用されており、Windows7以降では.NET Frameworkが標準インストールされているので、自分でインストールした経験がないという方も多いでしょう。
C#を扱う場合、この.NET/.NET Frameworkと関係性や特徴について、しっかりと理解しておく必要があります。
C#と.NET/.NET Frameworkについて理解しよう
.NET FrameworkはMicrosoftが2000年に打ち出した、大規模なネットワークサービスを構築し、小型の時計やカーナビ、白物家電などを含むさまざまな電子機器をインターネットに接続させる「Microsoft .NET」構想をベースに作られた経営戦略の中で開発されました。
.NET Frameworkは共通言語基盤 (CLI) として機能しており、さまざまなプログラミング言語をCILにコンパイルし、CLRで動作させることで、開発言語や実行環境に依存せず、マルチプラットフォーム性を持ったアプリ開発が可能になっています。
.NET Frameworkは、Microsoftが提供するC#やVB.NET、F#、C++/CLIのほか、人気のPython、Perlなど約20のプログラミング言語に対応していますが、基本的にMicrosoft製のプログラミング言語を、Windows系OS上で開発・実行するものと考えるとよいでしょう。
C#は、この.NETを使用することで、Windows向けのアプリを効率的に開発できる言語となっています。
また、ASP.NETを使用することで、 .NETが利用できるプログラミング言語を使用してWebアプリを開発できます。実際にMicrosoftのポータルサイトはC#とASP.NETの組み合わせによって作られているといわれています。
このように、プログラミング言語に簡単にマルチプラットフォーム性を与えたり、異なる言語を統合したり、リソース管理やライブラリ・フレームワークを提供して、より開発がしやすくなるのが.NETであり、C#もそのフレームワークを利用する言語という位置づけです。
C#の特徴を知ろう
C#はコンパイラ言語ですが、インタプリタ言語のようにも動作します。また、マルチパラダイム言語であり、オブジェクト指向言語としての性質も備えています。
C#では、.NET Frameworkを使用してコンパイルし、CILに変換します。これによって、.NET FrameworkのCLIに準拠している環境であれば、マルチプラットフォーム性を持ったアプリとして動作します。
C#は、Windows向けのアプリ開発はもちろん、MacOSやAndroid、iOS、Linuxでも動作するマルチプラットフォームアプリの開発が可能です。
C#の構文構造と文法はJavaやC/C++に似ており、既存言語の経験がある人であればスムーズに学習できるでしょう。構文構造をモデルにしてはいますが、C#とC/C++の間には他のC系言語のような互換性はありません。どちらかというと、開発者が同じDelphiに近い性質を持っています。
C#はC/C++と違い、Javaなどと同じくガベージコレクション(不要になったメモリを開放する機能)が使えます。そのため、メモリのリソース管理がしやすくなり、メモリリーク(メモリが解放されず領域を圧迫してしまうバグ)の問題が起きにくくなっています。
C#の開発環境の作り方
C#を開発するのであれば、個別にライブラリをインストールするのではなく、Visual Studioを使用するのが一般的です。
Visual StudioはC#と同じMicrosoftが提供しているIDE(統合開発環境)で、Visual Studioの最新バージョンは、2022 version 17.0.1です。(※2022年2月末現在)
開発環境やライブラリなどのインストールだけでなく、コードの自動補完などプログラミングに便利な機能を持つエディタが搭載されています。
Visual Studioのダウンロードとインストール
Visual Studioの公式サイトから、最新のVisual Studioをダウンロードして、exeを実行します。
Visual StudioはWindwos用のVisual Studioのほか、MacOS用のVisual Studio for Mac、Windows、MacOS、Linux上で実行できるスタンドアロンのソースコードエディタVisual Studio Codeの3種類があります。自分が開発を行いたい環境に合わせてダウンロードしてください。
用途や開発規模によって、以下のように「Community」、「Professional」、「Enterprise」の3種類があります。
個人の学習目的や、個人的な開発であればCommunityをダウンロードしてください。
開発に使用するワークロードをインストールする
ダウンロードしたインストーラーを実行すると、下記のような画面に切り替わり、Visual Studioで開発できるさまざまなアプリのライブラリが表示されます。
今回はWindows上でデスクトップアプリの開発をする環境を構築するので、「.NETデスクトップ開発」を選択してください。
チェックボックスをクリックすると、右側にインストール内容が表示されます。
基本的にインストール内容を変更する必要はありませんが、必要に応じて変更してください。
インストールをクリックすると、以下のようなインストール画面が表示されます。
インストールが完了すると、ログイン画面が表示されますが、特にログインは必要ありません。
続いて初期の画面設定が表示されます。
開発設定は「全般」もしくは「Visual C#」を選択します。配色テーマはあとから変更可能なので、自分の開発しやすい配色のテーマを選択してください。
新しいプロジェクトを作成するには
Visual Studioスタート画面が表示されたら、「新しいプロジェクトの作成」を選択します。
プロジェクトのテンプレートが表示されるので、今回は「Windowsフォームアプリケーション」を選択します。
プロジェクト名、場所を任意で指定します。基本的に変更する必要はありませんが、プロジェクトを特定のディレクトリで管理したい場合は任意で変更してください。
実際に簡単なアプリを作ってみよう
それでは早速、簡単なアプリを作成してみましょう。今回は、フォームボタンを設置して、ボタンを押すとダイアログが表示されるアプリを作成します。まずはツールボックスから「button」をドラッグアンドドロップして、Form1.csの画面にボタンを設置します。
次に画面中央のボタンをダブルクリックして、フォーム関連のコードを表示します。
以下の画面に、サンプルのコードを貼り付け、実行してみましょう。
サンプルコード:
private void button1_Click(object sender, EventArgs e)
{
MessageBox.Show("ダイアログを表示しました");
}
以下のような画面が表示され、ボタンを押したらメッセージが出ます。これでフォームボタンを押すとリアクションが返されるアプリの基本が完成しました。
C#でHello Worldを表示してみよう
それでは実際に、プログラミング言語の基本、Hello Worldを画面に表示してみましょう。
プロジェクトを作成し、ソースコードを書く
先述の手順で今度はコンソールアプリ、新しくプロジェクトsample001を作り、自動生成されるProgram.csにサンプルコードをコピーしてください。
サンプルコード:
using System;
namespace sample001
{
class Program
{
static void Main(string[] args)
{
Console.WriteLine("Hello, world!");
}
}
}
実行すると以下のような画面が表示されます。
このように、Visual Studioを使用することで、C#の開発環境は簡単に整うことがわかります。
サンプルコードに書かれたプログラムの仕組み
それでは、自動作成されたコードを見ながら、C#のコードがどうなっているのか見ていきましょう。
先頭にある数行はusingディレクティブと呼ばれる部分です。これは名前空間の参照で、呼び出し先にあるクラスを装飾名なしで使用できるようになります。Visual Studioではプロジェクトを作成すると自動的に挿入されます。
次に、namespaceです。これはクラスを分類・管理するためのもので、例えるならフォルダの分類に似ています。他と被らないように、わかりやすい名前を付けるとよいでしょう。
classでクラスの定義を行います。続いて、Main関数にコマンドライン引数を記述しています。最後にWriteLineでコンソールに文字列の出力を行っています。
なお、C#のコーディングは簡略化が進んでおりC# 10.0からは上記と同じことを、下記のようなシンプルなコードでも実行可能です。
サンプルコード:
//Hello World
Console.WriteLine("Hello World!!");
C#は開発環境が整っているので学びやすい
C#はVisual Studioによって開発環境を構築しやすく、公式・サードパーティ製問わずライブラリやサンプルも豊富なので、プログラミングに関して入門レベルからでも学習がはじめやすい言語です。
まずは簡単なフォームアプリに挑戦して、Windows上で動くアプリ作成を楽しみ、ステップアップしてみてはいかがでしょうか。