190730 - 3 - 매소드
pass by reference
static void Swap(ref int a, ref int b)
{
int temp = b;
b = a;
a = temp;
}
static void Main(string[] args)
{
int x = 3;
int y = 4;
Console.WriteLine("x:{0}, y:{1}", x, y);
Swap(ref x, ref y);
Console.WriteLine("x:{0}, y:{1}", x, y);
}
가변길이 매개변수 params : 매개변수의 형식은 같으나 개수가 달라질 수 있는 경우 유용하다.
static int Sum(params int[] args)
{
Console.Write("Summing... ");
int sum = 0;
for(int i=0; i<args.Length; i++)
{
if (i > 0)
Console.Write(", ");
Console.Write (args[i]);
sum += args[i];
}
Console.WriteLine();
return sum;
}
static void Main(string[] args)
{
int sum = Sum(3, 4, 5, 6, 7, 8, 9, 10);
Console.WriteLine("Sum : {0}", sum);
}
로컬함수 : 매서드 내부에 있는 함수를 말한다. 해당 지역에 포함된 변수를 로컬함수 내에서 사용이 가능하다. 메소드 밖에서는 쓸일이 없는 작업을 묶어 놓을 때 유용하다.
'C#(.NET)' 카테고리의 다른 글
[C#] 클래스 (base, sealed, 확장 매서드, 튜플) (0) | 2020.06.14 |
---|---|
[C#] 흐름제어 (switch, C# 7.0, when) (0) | 2020.06.12 |
[C#] ?? Null 병합 연산자 (0) | 2020.06.12 |
[C#] 흐름제어 (foreach, in, Select, {0}, {1}) (0) | 2020.06.12 |
[C#] 데이터 보관하기-2(최고 조상인 Object, 박싱, 언박싱, 형변환, var) (0) | 2020.06.12 |