C# の関数とメソッドの間にはわずかな違いしかありませんが、それでも違いはあります。以下に 2 つの違いを示します。
1. C# では、メソッドと関数の違いは、主に次の点で一般的なプログラミング言語と似ています。
オブジェクトの関連付け: メソッドはオブジェクトに関連付けられますが、関数はオブジェクトに関連付けられません。メソッドはクラスまたは構造体で定義され、オブジェクト インスタンスを通じて呼び出すことができます。関数は名前空間で定義され、直接呼び出すことができます。
パラメータの受け渡し: 通常、メソッドの最初のパラメータは this で、現在のオブジェクト インスタンスを表します。関数にはこのパラメータはありません。
戻り値: メソッドはオブジェクトの状態を変更して値を返すことができますが、関数は値のみを返すことができます。
メソッドの呼び出し: メソッドはオブジェクト インスタンスを通じて呼び出されますが、関数は直接呼び出されます。
命名規則: メソッドは通常、アクションの実行を意味する動詞で始まりますが、関数は通常、特定の計算または操作を意味する名詞または形容詞で始まります。
要約すると、メソッドと関数はどちらも C# の重要なコード ブロックですが、使用シナリオと構文は異なります。実際のプログラミングでは、状況に応じて使用するメソッドや関数を選択する必要があります。
2. 文章が退屈すぎるため、次の例で次のことを説明します。
以下に、メソッドと関数の違いを示す簡単な C# コード例を示します。
using System;
namespace Example
{
class MyClass
{
public int MyMethod(int x, int y)
{
return x + y;
}
}
static class MyFunctions
{
public static int Add(int x, int y)
{
return x + y;
}
}
class Program
{
static void Main(string[] args)
{
// 调用方法
MyClass obj = new MyClass();
int result1 = obj.MyMethod(5, 7);
Console.WriteLine(result1); // 输出 12
// 调用函数
int result2 = MyFunctions.Add(5, 7);
Console.WriteLine(result2); // 输出 12
}
}
}
上の例では、MyMethod というメソッドがクラス MyClass で定義されており、2 つの整数パラメータを受け取り、それらの合計を返します。MyFunctions クラスには Add という関数が定義されており、この関数も 2 つの整数パラメータを受け取り、それらの合計を返します。
Main メソッドでは、まず MyClass オブジェクトを作成し、その MyMethod メソッドを呼び出して 5 と 7 の合計を計算します。次に、MyFunctions クラスの Add 関数を直接呼び出して、5 と 7 の合計を計算します。これら 2 つの方法は同じ結果を得ることができますが、構文と呼び出しメソッドが異なります。これがメソッドと関数の違いです。