C#のMain関数についてわかりやすく詳しく解説

今回はC#のMain関数について詳しく解説します。

Main関数はC#プログラムのエントリーポイントであり、プログラムが実行される際に最初に呼び出されます。

この記事では、Main関数の基本的な構文や役割、サンプルコードを交えてわかりやすく解説していきます。

目次

Main関数とは

Main関数は、C#プログラムのエントリーポイントとなる特別なメソッドです。

つまり、プログラムが実行される際に最初に呼び出されるメソッドであり、必ず1つだけ存在する必要があります。

Main関数は以下のように定義されます。

static void Main(string[] args)
{
    // ここにプログラムの処理を記述する
}

Main関数はプログラム内の別のメソッドで呼ばれることがない関数ですが、引数を受け取ることができます。

これは、実行時に与えられたパラメーターであるコマンドライン引数を表します。

Main関数の書き方

Main関数はC#プログラムのエントリーポイントであり、プログラムが実行されるときに最初に呼び出されます。

Main関数は以下のように書かれます。

//staticを忘れない
static void Main(string[] args)
{
    // ここにプログラムの処理を書く
}

このように、Main関数はstaticであり、戻り値の型はvoidです。

また、引数として文字列型の配列argsを受け取ります。

引数の受け取り方

Main関数では、コマンドライン引数を受け取ることができます。

コマンドライン引数は、プログラムを起動する際に指定することができるパラメーターです。

例えば、以下のようなコマンドを実行した場合、

myprogram.exe arg1 arg2 arg3

Main関数では、以下のようにしてコマンドライン引数を受け取ることができます。

static void Main(string[] args)
{
    Console.WriteLine(args[0]); // "arg1" を表示する
    Console.WriteLine(args[1]); // "arg2" を表示する
    Console.WriteLine(args[2]); // "arg3" を表示する
}

戻り値の返し方

Main関数は戻り値を返すことができません。

しかし、プログラム全体から戻り値を返す必要がある場合は、以下のようにしてMain関数内で処理を行い、その結果を変数に格納し、最後にその変数を使って戻り値を返す方法があります。

static int Main(string[] args)
{
    int result = 0;
    
    // ここで何らかの処理を行う
    
    return result;
}

このようにしてMain関数内で処理した結果を変数に格納し、最後にその変数から戻り値を返すことができます。

Main関数の注意点

Main関数はC#プログラミングにおいて非常に重要な役割を担っています。

しかし、注意点があるため、正しく理解して使いましょう。

1. Main関数は必ず1つだけ

C#プログラミングにおいて、Main関数は必ず1つだけ存在する必要があります。

もし複数のMain関数がある場合、コンパイルエラーが発生します。

Visual StudioでWindowsフォームアプリケーションを作る場合、どこにもMain関数がないのに実行できてるように見えますが、実は別のソースファイルに自動でMain関数が書かれているだけだったりします。

2. Main関数の引数はstring型の配列である必要がある

コマンドライン引数には、コマンドラインから渡された引数が格納されるため、stinrg型の配列である必要があります。

例えば、myprogram.exe arg1 arg2というような形式で実行した場合、arg1とarg2がstring型の配列としてMain関数に渡されます。

3. Main関数から戻り値を返すことができる

通常Main関数はvoid型ですが、int型にすることで戻り値を返すことができます。

この戻り値は整数型であり、0以外の値を返すことも可能です。

public class Hello{
    public static int Main(){
      
        //処理...
        return 1;
    }
}

通常は、0を返すことで正常終了したことを示し、0以外だと何らかのエラーを指していることが一般的です。

目次