'out'은 C#의 키워드로, 참조 유형으로 메서드에 인수를 전달하는 데 사용됩니다. out 매개변수로 메소드에 전달된 변수는 메소드 호출에 전달되기 전에 선언하거나 초기화할 필요가 없습니다. 호출된 메서드는 컨트롤이 호출된 메서드를 떠나기 전과 호출된 메서드가 호출 메서드에 값을 반환하기 전에 out 매개 변수의 변수에 값을 할당해야 합니다. 여러 출력 매개변수를 메서드에 전달할 수 있으며 메서드는 여러 값을 반환합니다.
설명이 포함된 구문:
out 매개변수를 사용하여 메소드를 호출하는 동안 구문은 다음과 같습니다.
Method_name(out data_type variable_name);
여기서 Method_name은 메소드에 부여된 사용자 정의 이름이고, 'out'은 메소드에 전달된 변수가 out 매개변수임을 표현하는 데 사용되는 키워드이며, data_type은 변수의 모든 데이터 유형이 될 수 있으며, Variable_name은 사용자가 정의한 변수 이름입니다.
호출되는 메소드의 구문은 다음과 같습니다.
access_specifier return_type Method_name(out data_type variable_name);
여기에서 access_specifier는 public 또는 private과 같이 C#에서 지원하는 5가지 액세스 지정자 중 임의의 액세스 지정자일 수 있습니다. 그런 다음 return_type은 이 메서드가 반환하는 데이터 유형이고 그 뒤에 메서드 이름과 'out' 매개변수 목록이 옵니다.
C#에서 'out' 키워드는 'ref' 및 'in' 키워드와 유사하게 작동합니다. 'out' 매개변수와 'ref' 매개변수의 차이점은 'out' 매개변수 변수가 메소드에 전달되기 전에 초기화할 필요가 없으며 사용자가 메소드의 인수 목록에서 'out' 매개변수 변수를 선언할 수 있다는 것입니다. 'out' 매개변수의 인라인 선언이라고 하는 별도로 선언하는 대신 'ref' 매개변수 변수는 메소드에 전달되기 전에 초기화되어야 합니다. 인라인으로 선언된 'out' 매개변수는 동일한 코드 블록에서 액세스할 수 있습니다.
코드:
using System; namespace ConsoleApp4 { public class Program { public static void Main(string[] args) { //inline declaration of 'out' parameter Display(out int num); Console.WriteLine("Value of variable 'num': {0}", num); Console.ReadLine(); } public static void Display(out int a) { //need to assign value a = 10; a += a; } } }
출력:
코드:
using System; namespace ConsoleApp4 { public class Program { public static void Main(string[] args) { string str = "123456"; int num; //if ‘canParse’ is true; the result of conversion will be stored in ‘num’ bool canParse = Int32.TryParse(str, out num); if (canParse) Console.WriteLine(num); else Console.WriteLine("Could not be parsed."); Console.ReadLine(); } } }
출력:
다음은 C# Out 매개변수의 예입니다.
메서드에 전달된 여러 'out' 매개변수를 보여주는 예와 그 후 해당 메서드는 여러 값을 반환합니다.
코드:
using System; namespace ConsoleApp4 { public class Program { public static void Main() { //declaring variables without assigning values float area, perimeter; //passing multiple variables to a method using 'out' keyword Calculate(5, 10, out area, out perimeter); //displaying the result Console.WriteLine("The area of rectangle is: {0}", area); Console.WriteLine("The perimeter of rectangle is: {0}", perimeter); Console.ReadLine(); } //method taking length & breadth & it will return area and perimeter of rectangle public static void Calculate(int length, int breadth, out float area, out float perimeter) { area = length * breadth; perimeter = 2 * (length + breadth); } } }
출력:
'out' 매개변수의 인라인 선언 예시
코드:
using System; namespace ConsoleApp4 { public class Program { public static void Main() { //in-line declaration of variables without assigning values Calculate(out int length, out int breadth, out float area); //displaying the values of length, breadth, and area Console.WriteLine("Length of rectangle: " + length); Console.WriteLine("Breadth of rectangle: " + breadth); Console.WriteLine("Area of rectangle: " + area); Console.ReadLine(); } //method taking 'out' parameters and it returns multiple values public static void Calculate(out int l, out int b, out float a) { l = 30; b = 40; a = l * b; } } }
출력:
C#의 'out' 매개변수를 사용하면 사용자가 메서드를 참조하여 인수를 전달할 수 있습니다. 'out' 매개변수로 사용되는 변수는 메소드에 전달되기 전에 초기화할 필요가 없습니다. 호출된 메서드는 값을 반환하기 전에 out 매개 변수에 값을 할당해야 합니다.
위 내용은 C# 출력 매개변수의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!