C#でコードを書こうとするとこんな感じでMainという名前のメソッドがでてきます。
using System;
class Program {
static void Main(string[] args) {
Console.WriteLine("Hello World!");
}
}
このMainメソッドはエントリーポイントと呼ばれ、プログラムが実行されると最初に呼び出されるメソッドで、Mainメソッド内の処理が終わるとそのプログラムが終了します。
コンソールアプリケーションやウィンドウを表示するアプリケーションで必須のメソッドになります。
Mainメソッドはプロブラム内で1つである必要があります。
Mainメソッドはstaticである必要があります。
アクセスレベルはprivate、publicはどちらでもOKみたいです。
上のコードはprivateが省略されている。
Mainメソッドの種類(引数と戻り値)
1つのプログラムで書くことができるMainメソッドは「引数あり/なし」「戻り値あり/なし」で4種類あります。
//引数なし、戻り値なし
static void Main() { }
//引数なし、戻り値あり
static int Main() { }
//引数あり、戻り値なし
static void Main(string[] args) { }
//引数あり、戻り値なし
static int Main(string[] args) {}
Mainメソッドの引数、戻り値についてはこちらの記事にまとめました。
Mainメソッドの戻り値について
Mainメソッドの戻り値には、voidまたはintを指定することができる。
戻り値なしの場合はvoid、
戻り値としてなんらかのコード(正常終了なら0とか)を返す場合はintを指定する。
戻り値は他のメソッドと同じようにreturnで指定する。
using System;
class Program {
static int Main(string[] args) {
Console.WriteLine("Hello World!");
return 0; //戻り値の指定
}
}
Mainメソッドの引数について
Mainメソッドの引数(string[] args)を指定した場合、プログラムが起動された際のコマンドライン引数が渡されます。
Mainメソッドの省略
C#9からMainメソッドを省略してコードが書けるようになりました。
最上位レベルのステートメントというらしいです。
こんな感じに書いても動きます。
using System;
Console.WriteLine("Hello World!");
return -1; //returnでint型の値を返すことができる
引数はargsという名前で渡されるみたい。
using System;
if (args.Length > 0) Console.WriteLine("引数あり");
else Console.WriteLine("引数なし");
もっと知りたいと言う方はマイクロソフトのページを見てみてください。
いつの間にかプロジェクトの作成時に省略するかを選択できるようになっていた。(2024/02/29追記)
C# 記事まとめページに戻る(他のサンプルコードもこちら)
コメント