>  기사  >  백엔드 개발  >  C# 로컬 함수

C# 로컬 함수

PHPz
PHPz원래의
2024-09-03 15:14:58891검색

다른 함수의 본문 내부에 있는 비공개 함수로, 그 범위가 생성된 함수로 제한되어 있으며 C#에서는 로컬 함수라고 합니다. 이를 사용하여 다른 메서드의 본문 내에서 메서드를 선언할 수 있습니다. 이미 정의되어 있으며 이 로컬 함수 기능은 C# 버전 7.0에서 C#에 도입되었습니다. 다른 함수의 본문 내부에 생성된 함수의 유형은 이 함수가 생성된 함수의 유형과 동일하며 이러한 로컬 함수는 해당 컨테이너의 멤버에 의해 호출될 수 있으며 둘 이상의 로컬 함수가 생성될 수 있습니다. 하지만 로컬 함수에 static 키워드를 사용하는 것은 허용되지 않습니다.

구문:

다음은 구문입니다.

<modifiers: async | unsafe> <return-type> <method-name> <parameter-list>
  • async 및 unsafe는 로컬 메서드와 함께 사용할 수 있는 수정자입니다.
  • 반환 유형은 메소드가 반환하는 값의 유형입니다.
  • 메서드 이름은 메소드에 부여된 이름입니다.
  • 매개변수 목록은 메소드에 전달할 수 있는 매개변수 목록입니다.

C#에서 로컬 함수 작업

  • 로컬 함수는 다른 함수의 본문 내부에서 선언할 수 있는 비공개 함수이며, 이러한 로컬 함수의 범위는 해당 함수가 생성된 함수로 제한됩니다.
  • 로컬 함수는 종료자, 람다 식, 속성 평가자, 생성자 등에서 호출할 수 있습니다.
  • 액세스 한정자와 정적 키워드는 로컬 함수에서 사용할 수 없습니다. 로컬 함수는 기본적으로 비공개이므로 한정자 비공개라도 사용할 수 없습니다.
  • 컨테이너 메소드 내부에 정의되고 메소드 매개변수를 포함하는 지역 변수는 로컬 함수를 사용하여 액세스할 수 있습니다.
  • 로컬 함수나 해당 매개변수 및 매개변수 유형에는 속성을 적용할 수 없습니다.
  • unsafe 및 async 수정자는 로컬 기능과 함께 사용할 수 있습니다.

다음은 언급된 예입니다.

예시 #1

두 개의 숫자를 더하는 프로그램에서 로컬 기능을 시연하는 C# 프로그램

코드:

using System;
//a class called check is defined
namespace LocalFunction
{
public class Program
{
// Main method is called
public static void Main(string[] args)
{
// the local methods are being called within the main method
int res = Addition(100, 200);
Console.WriteLine("The addition result of adding 100 and 200 is: {0}", +res);
//local method is created
int Addition(int x, int y)
{
return x + y;
}
}
}
}

출력:

C# 로컬 함수

위 프로그램에는 check라는 클래스가 정의되어 있습니다. 그런 다음 로컬 메서드가 정의된 기본 메서드가 호출됩니다. 그런 다음 기본 메소드 내에서 생성된 로컬 메소드가 호출되고 추가할 두 숫자가 로컬 메소드에 매개변수로 전달됩니다.

예시 #2

프로그램의 로컬 기능을 시연하는 C# 프로그램

코드:

using System;
//a class called program is called
namespace LocalFunction
{
public class Program
{
//main method is called
public static void Main(string[] args)
{
//Local Function is created
int Function(int x)
{
return 100 * x;
}
//Calling the local function within the main method
Console.WriteLine("The product after performing the operation is: {0}",Function(10));
}
}
}

출력:

C# 로컬 함수

위 프로그램에는 program이라는 클래스가 정의되어 있습니다. 그런 다음 100을 곱한 후 숫자의 곱을 찾는 로컬 메서드가 매개 변수로 전달되는 기본 메서드가 호출됩니다. 그러면 메인 메소드 내에서 생성된 로컬 메소드가 호출되는데, 100을 곱한 결과를 구하려는 숫자가 로컬 메소드에 매개변수로 전달됩니다.

예시 #3

숫자의 제곱을 구하는 프로그램에서 로컬 기능을 시연하는 C# 프로그램

코드:

using System;
//a class called program is called
namespace LocalFunction
{
public class Program
{
//main method is called
public static void Main(string[] args)
{
//Local Function is created
int Square(int x)
{
return x * x;
}
//Calling the local function within the main method
Console.WriteLine("The square after performing the operation is: {0}",Square(10));
}
}
}

출력:

C# 로컬 함수

위 프로그램에는 program이라는 클래스가 정의되어 있습니다. 그런 다음 매개 변수로 전달된 숫자의 제곱을 찾는 로컬 메서드가 정의된 기본 메서드가 호출됩니다. 그런 다음 기본 메소드 내에서 생성된 로컬 메소드가 호출되고 해당 사각형을 찾을 숫자가 로컬 메소드에 매개변수로 전달됩니다.

위 내용은 C# 로컬 함수의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
이전 기사:C# 익명 함수다음 기사:C# 익명 함수