스마트한 개발 공부/C#
[C#] Method에서 여러 개의 Return 값 받기
스마트한지노
2021. 9. 7. 01:21
728x90
반응형
함수를 만들다 보면 1개의 함수에서 여러 개의 return값을 출력하고 싶을 때가 있다. 이런 경우에 사용할 수 있는 방법 몇 가지를 알아보자.
우선, 두개의 숫자를 더해서 합을 출력하는 함수를 만들었다고 해보자.
static void Main(string[] args)
{
Console.WriteLine("두개의 숫자를 각각 입력:");
int.TryParse(Console.ReadLine(),out int num1);
int.TryParse(Console.ReadLine(), out int num2);
int sumNum = Calc(num1,num2);
Console.WriteLine($"{num1}과 {num2}의 합은 {sumNum}이다");
}
private static int Calc(int num1, int num2)
{
int sum = num1 + num2;
return sum;
}
합뿐만이 아니라, 뺄셈도 구하고 싶다면 어떻게 해야 할까?
첫 번째는 배열을 사용하는 방법이다.
static void Main(string[] args)
{
Console.WriteLine("2개의 숫자를 각각 입력:");
int.TryParse(Console.ReadLine(),out int num1);
int.TryParse(Console.ReadLine(), out int num2);
int[] sumNum = Calc(num1,num2);
Console.WriteLine($"{num1}과 {num2}의 합은 {sumNum[0]}이고 차는 {sumNum[1]}");
}
private static int[] Calc(int num1, int num2)
{
int sum = num1 + num2;
int minus = num1 - num2;
int []arr = new int[2];
arr[0] = sum;
arr[1] = minus;
return arr;
}
두 번째는 out, ref 한정자를 사용하는 방법이다.
static void Main(string[] args)
{
Console.WriteLine("2개의 숫자를 각각 입력:");
int.TryParse(Console.ReadLine(), out int num1);
int.TryParse(Console.ReadLine(), out int num2);
int sumNum = Calc(num1, num2, out int minus);
Console.WriteLine($"{num1}과 {num2}의 합은 {sumNum}이고 차는 {minus}");
}
private static int Calc(int num1, int num2, out int minus)
{
int sum = num1 + num2;
minus = num1 - num2;
return sum;
}
이렇게 out 한정자를 사용하면 원하는 return 개수만큼 계속해서 추가해서 반환할 수 있다.
728x90
반응형