C#
概要
C#(シーシャープ)はマイクロソフト社が開発したオブジェクト指向言語です。
2000年に登場した比較的新しい言語です。
C#という名前からC言語とC++から派生した言語と思われがちですが、少し違います。
C言語で書かれたソースはC++でコンパイル出来ます。
しかし、C言語やC++で書かれたソースは、C#ではコンパイルできません。
つまり、C言語/C++とC#には互換性はないのです。
また動作する環境という点でも、違いがあります。
C#はソースコードをMSILという中間コードに変換して、Microsoft .NETの共通動作環境である.NET Framework(CLR)がこれを解釈して実行します。
この方式はどちらかというとJavaに近いと言えます。
良いところ
インターネット関連のさまざまなテンプレートが用意されています。
これらはC言語やC++にはありません。
ポインタを使用した演算が利用できるので、よりOSに近いレベルのコーディングが出来ます。
また、「マイクロソフト社の.NET Framework上で」、という制限はありますが、Javaのようにプラットフォームに依存しない開発ができます。
処理速度もJavaと変わりません。
悪いところ
一応、Windows以外のOSでも動きますが、実質は「Windowsでの利用に限定した言語」です。
Javaに似た言語ということで、記述するコードの量は多くなりがちです。
サンプルコード
C#で「Hello World」を表示するソースコードです。
class Hello
{
static void Main()
{
System.Console.WriteLine("Hello, world!");
}
}
サンプルコード解説
C#では「クラス」という考え方を用いてソースコードを書いていきます。
「クラス」とはオブジェクト指向プログラミングの基本的な仕組みを提供するもので、オブジェクトが持つ属性やメソッドなどを定義します。
このサンプルコードでは「Hello」というクラスに「Main」というメソッドを定義しています。
1行目の「class Hello」は2つの単語で構成されています。
「class」は以降の{ }で囲まれたコードが1つのクラスであることを表します。
「Hello」はクラス名を表します。
3行目の「static void Main() 」はMainメソッドを表します。
「static」はMainメソッドがHelloクラスに対して1対1の関係で存在することを表しています。
「void」はMainメソッドが戻り値を持たないことを表します。
5行目の「System.Console.WriteLine("Hello, world!");」で標準出力に「Hello, world!」を表示しています。
コンパイル方法
C#のソースファイルをコンパイルするためにはCSC(C Sharp Compiler)というコンパイラが必要になります。
「C:\Windows\Microsoft.NET\Framework」というフォルダの下にある「csc.exe」がC#のコンパイラです。
先ほどのサンプルコードを「hello.cs」という名前で保存します。
「csc.exe」にパスを通して、以下のコマンドを実行します。
> csc hello.cs
コンパイルが正常に終了すると、「hello.exe」というexeファイルが出力されます。
C#の開発を行う場合、ほとんどは「Visual Studio」というIDE(統合開発環境)を利用します。
IDEではソースを保存したタイミングで自動でコンパイルされる機能も付いています。
実行方法
「hello.exe」を実行すると「Hello, World!」が標準出力に表示されます。
> hello
Hello, World!
C# 関連ページ
PR