C#でメソッドを作成する方法と使い方の基本

先生

C#のメソッドは、コードを整理し再利用するための強力なツール!この記事で基本をマスターしよう!

C# メソッドとは?基本を理解しよう

C#におけるメソッドとは、特定の処理を実行するための一連のコードをまとめたものです。メソッドを使うことで、コードの再利用性が高まり、プログラム全体の構造が整理されます。この記事では、C#でメソッドを作成し、利用するための基本的な方法を、初心者にもわかりやすく解説します。

メソッドは、オブジェクト指向プログラミングの重要な要素の一つです。クラスの中に定義され、そのクラスのインスタンスを通じて呼び出されます。メソッドは、入力として引数を受け取り、処理の結果として値を返すことができます。

C#でメソッドを使いこなせるようになると、より効率的で保守性の高いプログラムを作成できるようになります。この記事を通じて、メソッドの基本をしっかりと理解しましょう。

メソッドの定義:基本構文

C#でメソッドを定義するための基本的な構文は次の通りです。

アクセス修飾子 戻り値の型 メソッド名(引数リスト)
{
    // メソッドの処理
    return 戻り値;
}

各要素の意味は以下の通りです。

* アクセス修飾子: メソッドのアクセスレベル(public, private, protectedなど)を指定します。

* 戻り値の型: メソッドが返す値の型(int, string, voidなど)を指定します。voidは、値を返さないメソッドを表します。

* メソッド名: メソッドを識別するための一意の名前を付けます。

* 引数リスト: メソッドに渡す引数の型と名前を指定します。引数がない場合は空にします。

* return: メソッドの処理結果を返します。戻り値の型がvoidの場合は省略できます。

以下に具体的な例を示します。

簡単なメソッドの例

public int Add(int a, int b)
{
    return a + b;
}

この例では、Addという名前のメソッドを定義しています。このメソッドは、2つの整数abを引数として受け取り、それらの合計を整数として返します。アクセス修飾子はpublicなので、どこからでもアクセス可能です。

別の例として、メッセージを表示するメソッドを考えてみましょう。

public void Greet(string name)
{
    Console.WriteLine("Hello, " + name + "!");
}

このGreetメソッドは、文字列nameを引数として受け取り、コンソールに挨拶メッセージを表示します。戻り値の型はvoidなので、値を返す必要はありません。

メソッドの呼び出し方

メソッドを呼び出すには、メソッド名と引数を指定します。上記のAddメソッドを呼び出す例は次のようになります。

int result = Add(5, 3);
Console.WriteLine(result); // Output: 8

Greetメソッドを呼び出す場合は次のようになります。

Greet("World"); // Output: Hello, World!

メソッドが属するクラスのインスタンスを作成する必要がある場合もあります。例えば、次のクラスを考えてみましょう。

public class Calculator
{
    public int Multiply(int a, int b)
    {
        return a * b;
    }
}

このMultiplyメソッドを呼び出すには、Calculatorクラスのインスタンスを作成する必要があります。

Calculator calculator = new Calculator();
int product = calculator.Multiply(4, 6);
Console.WriteLine(product); // Output: 24

引数と戻り値の型

メソッドは、様々な型の引数を受け取り、様々な型の値を返すことができます。C#でよく使われる型には、int(整数)、double(浮動小数点数)、string(文字列)、bool(真偽値)などがあります。また、クラスや構造体などのユーザー定義型も使用できます。

メソッドの引数には、値渡しと参照渡しの2種類があります。

* 値渡し: 引数のコピーがメソッドに渡されます。メソッド内で引数の値を変更しても、元の変数の値は変わりません。

* 参照渡し: 引数のアドレスがメソッドに渡されます。メソッド内で引数の値を変更すると、元の変数の値も変更されます。

参照渡しを使用するには、refキーワードまたはoutキーワードを使用します。

public void Increment(ref int num)
{
    num++;
}
int number = 10;
Increment(ref number);
Console.WriteLine(number); // Output: 11

メソッドのオーバーロード

C#では、同じ名前で引数の型または数が異なる複数のメソッドを定義することができます。これをメソッドのオーバーロードといいます。メソッドのオーバーロードを利用することで、より柔軟なAPIを提供できます。

例えば、次の例を考えてみましょう。

public int Add(int a, int b)
{
    return a + b;
}

public double Add(double a, double b)
{
    return a + b;
}

public string Add(string a, string b)
{
    return a + b;
}

この例では、Addメソッドが、整数、浮動小数点数、文字列の3種類の引数を受け取るようにオーバーロードされています。

参考リンク

まとめ

この記事では、C#でメソッドを作成し、利用するための基本的な方法を解説しました。メソッドは、コードの再利用性を高め、プログラム全体の構造を整理するために非常に重要な要素です。今回学んだことを活かして、より効率的で保守性の高いC#プログラムを作成していきましょう。