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
반응형
'스마트한 개발 공부 > C#' 카테고리의 다른 글
[C#] 여러 가지 메소드 반환타입 (0) | 2021.10.31 |
---|---|
[C#] object, var, dynamic 비교 (0) | 2021.10.31 |
[C#] 변수를 상수형으로 만드는 방법 : readonly와 const (0) | 2021.08.19 |
[C#] Struct 구조체 (0) | 2021.08.19 |
[C#] 상속과 interface(인터페이스) 그리고 abstract class(추상 클래스) (0) | 2021.08.18 |