C#에서 인라인 함수 만들기
이 자습서에서는 C#에서 인라인 함수를 만드는 방법에 대해 설명합니다.
C#에서 Lambda 식을 사용하여 인라인 함수 생성
C 및 C++와 같은 프로그래밍 언어에서 인라인 함수는 inline
키워드로 선언됩니다. 인라인 함수 내부의 코드는 컴파일에 의해 함수 호출로 대체됩니다. 따라서 코드를 인라인으로 만듭니다. 불행히도 C#에서 인라인 함수를 선언하는 기본 제공 키워드가 없습니다. C#에서 람다 식을 사용하여 인라인 함수를 만들 수 있습니다. Lambda 식은 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
의 합을 반환하는 인라인 함수를 만들었습니다. =>
키워드를 사용하여 두 정수 변수의 합을 반환하는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
의 합계를 반환하는 인라인 함수를 만들었습니다. =>
키워드를 사용하여 두 정수 변수의 합을 반환하는sum()
함수를 만들었습니다. Action<int, int>
는 익명 함수 매개 변수의 데이터 유형을 지정합니다. 한 줄의 코드에만 람다 식을 사용할 수 있습니다.
C#에서 Lambda 문을 사용하여 인라인 함수 생성
코드에 한 줄 이상의 코드가있는 경우 람다 문을 사용해야합니다. Lambda 문은 인라인 함수로 사용할 수있는 익명 함수를 선언하는데도 사용됩니다. 람다 문에서 익명 함수를 선언하는 것은 람다 식과 비슷하지만 여러 줄 문이{};
로 묶여 있다는 점만 다릅니다. 다음 코드 예제는 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
C#에서 람다 문을 사용하여6
및7
의 합계를 표시하는 인라인 함수를 만들었습니다. sum()
함수 안에 여러 줄의 코드를 작성할 수 있습니다. 람다 식과 마찬가지로 람다 문에는 값을 반환하는Func<T,T-return>
과 값을 반환하지 않는Action<T>
의 두 가지 유형이 있습니다.
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