C# でインライン関数を作成する
このチュートリアルでは、C# でインライン関数を作成する方法について説明します。
C# でラムダ式を使用してインライン関数を作成する
C や C++ などのプログラミング言語では、インライン関数は inline
キーワードで宣言されます。インライン関数内のコードは、コンパイルによって関数呼び出しに置き換えられます。したがって、コードをインラインにします。残念ながら、C# でインライン関数を宣言するための組み込みキーワードはありません。C# でラムダ式を使用してインライン関数を作成できます。ラムダ式は、C# で無名関数を作成するために使用されます。=>
キーワードは、ラムダ式の記述に使用されます。
次のコード例は、C# でラムダ式を使用してインライン関数を作成する方法を示しています。
using System;
namespace inline_function {
class Program {
static void Main(string[] args) {
Func<int, int, int> add = (x, y) => x + y;
Console.WriteLine(add(1, 2));
}
}
}
出力:
3
C# のラムダ式で 1
と 2
の合計を返すインライン関数を作成しました。=>
キーワードを使用して、2つの整数変数の合計を返す add
関数を作成しました。Func<int, int, int>
はパラメーターのデータ型を指定し、Func<int, int, int>
の最後の int
は無名関数の戻り値の型を指定します。Action<T1, T2>
キーワードを使用して無名関数を指定することもできます何も返却したくない場合。次のコード例は、Action<T1, T2>
キーワードを使用して、C# で値を返さないインライン関数を作成する方法を示しています。
using System;
namespace inline_function {
class Program {
static void Main(string[] args) {
Action<int, int> sum = (x, y) => Console.WriteLine(x + y);
sum(5, 6);
}
}
}
出力:
11
C# のラムダ式で 5
と 6
の合計を返すインライン関数を作成しました。=>
キーワードを使用して 2つの整数変数の合計を返す sum()
関数を作成しました。Action<int, int>
は、無名関数のパラメーターのデータ型を指定します。ラムダ式は、1 行のコードに対してのみ使用できます。
C# で Lambda ステートメントを使用してインライン関数を作成する
コードに複数行のコードがある場合は、ラムダステートメントを使用する必要があります。ラムダステートメントは、インラインとして使用できる無名関数の宣言にも使用されます C# で機能します。ラムダステートメントで無名関数を宣言することはラムダ式に似ていますが、唯一の違いは、複数行のステートメントが {};
で囲まれていることです。次のコード例は、C# でラムダステートメントを使用してインライン関数を作成する方法を示しています。
using System;
namespace inline_function {
class Program {
static void Main(string[] args) {
Action<int, int> sum = (x, y) => {
int s = x + y;
Console.WriteLine(s);
};
sum(6, 7);
}
}
}
出力:
13
6
と 7
の合計を C# のラムダステートメントで表示するインライン関数を作成しました。sum()
関数内に複数行のコードを記述できます。ラムダ式と同様に、ラムダステートメントには、値を返す Func<T,T-return>
と、値を返さない Action<T>
の 2 種類があります。
C# でローカル関数を使用してインライン関数を作成する
ローカル関数は、C# の別の関数に含まれている関数です。ローカル関数には、それを囲む関数によってのみアクセスできます。ローカル関数は、7.0 以降のバージョンの C# で使用できます。ローカル関数を使用して、C# のインライン関数の機能を提供できます。次のコード例は、C# でローカル関数を使用してインライン関数を作成する方法を示しています。
using System;
namespace inline_function {
class Program {
static void Main(string[] args) {
void sum(int a, int b) {
Console.WriteLine(a + b);
}
sum(7, 11);
}
}
}
出力:
18
C# のローカル関数で 7
と 11
の合計を返すインライン関数を作成しました。ローカル関数を宣言することは、通常の従来の関数を宣言することと同じです。アクセス指定子なしで、別の関数内で宣言されているだけです。
Maisam is a highly skilled and motivated Data Scientist. He has over 4 years of experience with Python programming language. He loves solving complex problems and sharing his results on the internet.
LinkedIn