첫 번째 예제에서 SayHello() 메서드 바로 바로 다음을 추가하고 Console.ReadKey() 앞에 이 두 줄을 추가합니다. 값은 값별로 호출자에게 반환하거나 참조로 C# 7.0부터 반환할 수 있습니다. ref 키워드가 메서드 서명에 사용되고 각 return 키워드를 따르는 경우 값을 참조하여 호출자에게 반환됩니다. 예를 들어 다음 메서드 서명 및 return 문은 메서드가 호출자 참조로 변수 이름 estDistance를 반환함을 나타냅니다. 함수 내에서 로컬 변수 합계는 0으로 초기화되고 배열 값의 관련 부분이 추가됩니다. 우리는 거의 모든 것을 변경했습니다. 함수는 이제 정수를 반환하고 두 매개 변수 (모두 정수)를 사용하며 무언가를 입력하는 대신 계산을 한 다음 결과를 반환합니다. 즉, 매번 계산 코드를 작성할 필요 없이 이 함수를 호출하기만 하면 코드의 여러 위치에서 두 개의 숫자를 추가할 수 있습니다. 이 작은 예제에서는 많은 시간과 노력을 절약하지는 않지만 함수를 사랑하는 법을 더 많이 배울수록 C#을 더 많이 사용할 수 있다고 믿습니다. 이 함수는 다음과 같이 호출됩니다 : 다음 장에서는 c # 프로그래밍 언어의 예제와 함께 메서드 또는 함수에 대한 매개 변수 전달에 대해 자세히 설명합니다.

첫 번째 부분인 공용은 가시성이며 선택 사항입니다. 정의하지 않으면 함수가 비공개로 유지됩니다. 그에 대한 자세한 내용은 나중에. 다음은 반환할 형식입니다. C #의 유효한 형식일 수도 있고, 여기서 수행한 것처럼 무효화될 수 있습니다. void는 이 함수가 절대적으로 아무 것도 반환하지 않는다는 것을 의미합니다. 또한 이 함수는 빈 괄호 집합에서 볼 수 있듯이 매개 변수를 사용하지 않으므로 실제로는 약간 지루합니다. 위의 예제Main 메서드를 관찰하는 경우 정적이며 프로그램 클래스의 인스턴스를 만들어 GetUserDetails 메서드를 호출하는 경우를 변경해 보겠습니다. 대신 정적 메서드를 만드는 경우 개체 인스턴스를 만들지 않고 Main() 메서드에서 해당 메서드에 직접 액세스할 수 있습니다.

함수에서 void라는 단어는 함수가 값을 반환하지 않음을 의미합니다. 컴파일러는 우리가 약속했지만 무언가를 반환하지 않는 함수가 있음을 상기시켜줍니다. 그리고 컴파일러는 꽤 영리합니다! 줄을 제거하는 대신 다음과 같은 작업을 시도하십시오. 다음 예제에서는 SampleRefType 형식의 개체를 메서드 수정 Object에 전달합니다. 메서드에서 참조로 반환된 값을 사용하려면 해당 값을 수정하려는 경우 ref local 변수를 선언해야 합니다. 예를 들어 Planet.GetEstimatedDistance 메서드가 참조로 Double 값을 반환하는 경우 다음과 같은 코드가 있는 참조 로컬 변수로 정의할 수 있습니다. DelayAsync 정수 반환 반환 문을 가지고 있습니다. 따라서 DelayAsync의 메서드 선언에는 작업 반환 형식이 있어야 합니다. 반환 형식은 task 때문에 DoSomethingAsync에서 await 식의 평가는 다음 문에서 보여 주는 대로 정수를 생성합니다. 함수는 데이터를 얻기 위해 0 또는 임의의 수의 매개 변수를 가질 수 있습니다. 다음 예제에서는 매개 변수 없이 함수가 만들어집니다.

매개 변수가 없는 함수를 매개 변수화되지 않은 함수라고도 합니다.

Scroll Up