C#言語
C#は、C言語系統の流れから作られたオブジェクト指向言語です。
C#は、共通言語基盤(Common Language Infrastructure)が解釈する共通中間言語(Common intermediate language)にコンパイルされて、実行されます。
ここでは、C#でプログラムを作るために必要な基礎的な知識をまとめていきます。
まずは、Visual Studio 2019のコンソールアプリケーションを使ってC#プログラムの構造をみていきます。
Visual Studio 2019
C#を使うにあたって、まずは、Visual Studio 2019をインストールします。
ここでは、個人的な学習なのでCommunityを選択します。
ダウンロードは、マイクロソフトのページからできます。
ダウンロード、インストールができたら、Visual Studio 2019を起動します。
C#コンソールアプリケーション
プロジェクトは、新規作成で、C#のコンソールを選択すると、該当のプラットフォームのみが表示されます。
コンソールアプリ(.net core)を選択してプロジェクトを作成します。
ここでのプロジェクト名は、「TestConsoleApp」としています。
プロジェクトを作成すると、このような画面が表示されます。
このプログラムからC#の構成をみていきます。
クラス
using System;
namespace TestConsoleApp
{
class Program
{
static void Main(string[] args)
{
Console.WriteLine("Hello, World!");
}
}
}
C#プログラムは、一つ以上の「クラス」から構成されます。
このプログラムでは、Programというクラスが作られています。
class Program
{
}
クラスは、「class」というキーワードで宣言します。キーワード後に記述される文字列がクラス名となります。
クラスには、データを扱うメンバー変数や処理を行うメソッドなどが含まれます。
これらをひとまとまりにするのですが、このまとまりのことをブロックと呼びます。
プログラム上でブロックは、中括弧「{」から「}」までで囲った範囲になります。
Programクラスでは、Mainという名前のメソッドが記述されています。
名前空間
クラスには、「名前空間」というものが割り当てられます。
「名前空間」とは、クラスが属する部署のようなもので、クラスを名前で分類して管理します。
namespace TestConsoleApp
{
class Program
{
}
}
名前空間は、「namespace」というキーワードで宣言します。
このプロジェクトでは、TestConsoleAppという名前空間に、Programクラスが属しているということになります。
名前空間は、この例の中にもうひとつあります。
それは、1行目の「using」というキーワードから始まる行の部分です。
これは、「System」という名前空間を使いますという宣言です。
System名前空間は、.NETクラスライブラリに存在するものです。
簡単に言ってしまえば、事前に準備してもらっているプログラムを使わせてもらいますということです。
System名前空間で管理されているプログラムには、テキストを扱うものや入出力関係、描画関係などが含まれます。
このプログラムでは、「Console.WriteLine」がSystem名前空間を使用している部分になります。ここでは、ConsoleクラスのWriteLineメソッドを呼び出しています。
Mainメソッド
C言語のmain関数と同じようにC#では、Mainメソッドからプログラムが実行されます。
ということで、Mainメソッドは、必ず必要な処理となります。
このプログラムを実行すると、TestConsoleAppという名前空間に属しているProgramクラスのMainメソッドが呼び出されることになります。
Mainメソッドの処理では、System名前空間に属しているConsoleクラスのWriteLineメソッドを実行します。WriteLineメソッドは、コンソール出力のための処理を行うものです。C言語のprintf関数のようなもので、ここでは、ダブルクォーテーションで囲った「Hello, World!」を画面出力します。
まとめ
ここでは、C#プログラムの基本構成をみてきました。
①C#では、クラスを単位として扱います。
②クラスは、名前空間で管理します。
③クラスには、データを扱うメンバー変数や処理を行うメソッドを記述してブロックにまとめます。
④プログラムは、Mainメソッドから実行されます。
⑤C#では、Systemのような.NETクラスライブラリを利用できます。
まとめるとこの5つになります。C#の基本構成としては、この部分がわかればざっくりとした枠組みが掴めるのではないかと思います。
今後の記事で、C#の基本文法についてもまとめていきたいと思います。
コメント