메서드에 인자를 전달할 때 사용하는 방법
class Program
{
static void Main(string[] args)
{
/* Parameter */
// 1. 파라미터
int a = 10;
int b = 20;
int res = 0;
res = sumAnB(a, b); // a = 10, b = 20
Console.WriteLine(res.ToString()); // 30
// 2. ref : 초기화 필요, 전달되는 변수의 주소값을 전달, 메서드 실행 후 원래 값 변경
doubleAnB(a, ref b); // a = 10, b 의 주소값을 전달
Console.WriteLine("a = {0}, b = {1}", a, b); // 10, 40
// 3. out : 초기화 필요 없으며, 전달된 메서드에서 호출 전 값들은 무시됨. 실행된 결과값을 전달 받을 때 유용함
int sum;
double avg;
avgAnB(a, b, out sum, out avg); // a = 10, b = 40
Console.WriteLine("sum = {0}, out = {1}", sum, avg); // 50, 25.00
// 4. Variable Arguments : 가변 파라미터
int sumParam = 0;
sumParam = sumList(1); // 1
sumParam = sumList(1, 2); // 3
sumParam = sumList(1, 2, 3); // 6
sumParam = sumList(10, 20, 30, 40, 50, 100); // 250
}
// 1. general parameter
static int sumAnB(int a, int b)
{
int sum = a + b;
return sum;
}
// 2. referece parameter
static void doubleAnB(int a, ref int b)
{
a *= 2;
b *= 2;
}
// 3. out parameter
static bool avgAnB(int a, int b, out int sum, out double avg)
{
sum = a + b;
avg = (a + b) / 2;
return true;
}
// 4. Variable Arguments : 가변 파라미터
static int sumList(params int[] nums)
{
int sumTotal = 0;
foreach(var n in nums)
{
sumTotal += n;
}
return sumTotal;
}
}
'C#' 카테고리의 다른 글
C# 계산기 만들기(2) (0) | 2021.02.24 |
---|---|
C# 계산기 만들기(1) (0) | 2021.02.24 |
[C#] Exception 처리, try catch finally (0) | 2021.01.15 |
[C#] Yield 예제 (0) | 2021.01.15 |
[C#] 문자열 처리 (0) | 2021.01.15 |