C#はマイクロソフトが開発したプログラミング言語です。後発の言語だけあって、開発効率が高くなっています。名前のとおりC言語系ですが、CよりDelphiに近い言語です。この記事では、C#の使い方をご紹介します。
コメントとは、ソースプログラムの注釈である。実行プログラムの動作に影響はない。
//から行末まではコメントとして扱われる。
// コメント/*から*/まではコメントとして扱われる。コメントは複数の行に跨ってもよい。
/*
  コメント1
  コメント2
*/ドキュメントコメントとは、インテリセンスに表示されるコメントである。
/// <summary>メソッドの説明</summary>ドキュメントコメントには、次のタグを使うことができる。
| タグ | 説明 | 
|---|---|
| summary | メソッドの説明 | 
| param | メソッドの引数の説明 | 
| returns | メソッドの戻り値の説明 | 
| example | 例文 | 
| code | コード | 
| exception | Throwできる例外 | 
| value | プロパティの説明 | 
int[] array = new int[3];
string[] seasons = new string[4];int[] array = new int[] {1, 2, 3};
string[] seasons = new string[] {"spring", "summer", "autumn", "winter"};List<list> list = new List<int>();
List<string> weekday = new List<string>();リストに項目を追加する。
List<string> seasons = new List<string>();
seasons.Add("spring");
seasons.Add("summer");
seasons.Add("autumn");
seasons.Add("winter");リストに複数の項目を追加する。
List<string> seasons = new List<string>();
seasons.AddRange(new List<string>() {"spring", "summer", "autumn", "winter"});int[] numbers = new int[] {1, 2, 3};
foreach (int i in numbers) {
  Console.WriteLine(i);
}C#では列挙型(enum)で定数を定義することができる。
列挙型で定義した定数は、0から始まって1づつ増加する整数の値である。
enum Season {
  Spring, Summer, Autumn, Winter
}C#のswitch文はパターン一致によって処理を分岐させることができる。
int i = 1;
switch (i) {
  case 0;
    // do something
    break;
  case < 3:
    // do something
    break;
  case > 6:
    // do something
    break;
  default:
    // do something
    break;
  }
}
  try catchとは、例外が発生したときに実行する処理を指定する構文である。
try {
  // 例外が発生する処理
} catch (ArgumentException e) {
  // 例外が発生したときの処理
}Microsoft .NET Framework上で動作するプログラムから、従来形式のDLLがエクスポートしている関数を呼び出すには、DllImport属性(System.Runtime.InteropServices名前空間)を利用して、その関数が外部にあることをあらかじめ宣言しておきます。
DllImport属性を付けた関数の宣言では、public static extern修飾子を指定します。
Win32 APIやDLL関数を呼び出す際に、関数のパラメータとして定数を指定する場合があります。通常、これらの定数はヘッダファイル(windows.hなど)で定義されていますが、C#ではこれらのヘッダファイルを扱うことができません。したがって、必要な定数は自分で定義する必要があります。
using System.Runtime.InteropServices;
class Sample {
[DllImport("user32.DLL")]
public static extern int MessageBoxA(int hWnd,
    String lpText, String lpCaption, uint uType);
public const int MB_OK = 0x00000000;
}
    #region と
    #endregion で囲んだ部分はコードのブロックとなり、Visual Studio Code エディタのアウトライン機能により展開や折りたたみができるようになる。