Computer >> 컴퓨터 >  >> 프로그램 작성 >> C#

C#에서 메서드에 대한 매개 변수 유형은 무엇입니까?


C#의 메서드는 일반적으로 사용자에게 동일한 코드를 재사용할 수 있는 기능을 제공하여 궁극적으로 과도한 메모리 사용을 절약하고 시간을 절약하는 역할을 하는 프로그램의 코드 또는 명령 블록입니다. 그리고 더 중요한 것은 코드의 가독성을 높여줍니다.

사용자가 메소드를 실행하기를 원하는 특정 상황이 있을 수 있지만 때로는 해당 메소드가 작업을 실행하고 완료하기 위해 몇 가지 귀중한 입력이 필요합니다. 이러한 입력 값을 매개변수라고 합니다. .

매개변수는 다음과 같은 방법으로 메소드에 전달할 수 있습니다. -

  • 값 매개변수

  • 참조 매개변수

  • 출력 매개변수

값 매개변수

값 매개변수는 인수의 실제 값을 함수의 형식 매개변수에 복사합니다. 단순 변수가 메소드에 매개변수로 전달되면 값으로 전달됩니다. 즉, 매개변수로 전달된 변수에 포함된 값은 메서드의 변수에 복사되며, 메서드 내부에서 이러한 값이 변경되거나 수정되면 실제 전달된 변수에는 변경 사항이 반영되지 않습니다. integer, double, Boolean 등과 같은 대부분의 원시 데이터 유형은 값으로 전달됩니다.

예시

using System;
namespace MyApplication{
   public class Program{
      public static void Main(){
         int x = 5, y = 5;
         Console.WriteLine($"Value before calling the method. x = {x}, y = {y}");
         ValueParamter(x, y);
         Console.WriteLine($"Value after calling the method. x = {x}, y = {y}");
      }
      public static void ValueParamter(int x, int y){
         x = 10;
         y = 10;
         int z = x + y;
         Console.WriteLine($"Sum of x and y = {z}");
      }
   }
}

출력

위 코드의 출력은 다음과 같습니다 &mius;

Value before calling the method. x = 5, y = 5
Sum of x and y = 20
Value after calling the method. x = 5, y = 5

참조 매개변수

참조 매개변수는 인수의 메모리 위치에 대한 참조를 형식 매개변수에 복사합니다. 일반적으로 모든 개체는 메서드에 대한 매개변수로 참조로 전달됩니다. 이 메서드는 값에 대해 작업하는 대신 매개 변수에 전달된 변수의 참조에 대해 작업합니다. 그 결과 호출된 함수에서 변수가 수정될 때 호출하는 함수에서 변수가 수정됩니다. 이는 매개변수에 대한 변경 사항이 인수에 영향을 미친다는 것을 의미합니다.

예시

using System;
namespace MyApplication{
   public class Program{
      public static void Main(){
         int x = 5, y = 5;
         Console.WriteLine($"Value before calling the method. x = {x}, y = {y}");
         RefParamter(ref x, ref y);
         Console.WriteLine($"Value after calling the method. x = {x}, y = {y}");
      }
      public static void RefParamter(ref int x, ref int y){
         x = 10;
         y = 10;
         int z = x + y;
         Console.WriteLine($"Sum of x and y = {z}");
      }
   }
}

출력

위 코드의 출력은 다음과 같습니다 -

Value before calling the method. x = 5, y = 5
Sum of x and y = 20
Value after calling the method. x = 10, y = 10

출력 매개변수

출력 매개변수는 둘 이상의 값을 반환하는 데 도움이 됩니다. return 문은 함수에서 하나의 값만 반환하는 데 사용할 수 있습니다. 그러나 출력 매개변수를 사용하면 함수에서 두 개의 값을 반환할 수 있습니다. 출력 매개변수에 제공된 변수에는 값을 할당할 필요가 없습니다. 출력 매개변수는 매개변수에 초기값을 할당하지 않고 매개변수를 통해 메소드에서 값을 반환해야 할 때 특히 유용합니다. 출력 매개변수는 참조 매개변수와 유사하지만, 데이터를 메소드 내부가 아닌 외부로 전송한다는 점만 다릅니다.

예시

using System;
namespace MyApplication{
   public class Program{
      public static void Main(){
         int result;
         OutParamter(out result);
         Console.WriteLine($"Result: {result}");
      }
      public static void OutParamter(out int result){
         int x = 10, y = 10;
         result = x + y;
      }
   }
}

출력

The output of the above code is as follows:
Result: 20