C#에서의 메서드를 호출할 때 기본은, 값복사를 하여 사용하는 식이다
아래에서 값 복사와, 참조를 사용하는 방법을 따로 분리해서 사용하는 예제를 확인해보면 된다.
class SwapByValRef
{
public static void Swap1(int a, int b) // 값 복사
{
int temp = b;
b = a;
a = temp;
}
public static void Swap2(ref int a, ref int b) // 참조
{
int temp = b;
b = a;
a = temp;
}
static void Main(string[] args)
{
{ // Call by Value
int x = 3;
int y = 4;
Console.WriteLine($"x:{x}, y:{y}");
Swap1(x, y);
Console.WriteLine($"x:{x}, y:{y}");
Console.WriteLine();
}
{ // Call by Reference
int x = 3;
int y = 4;
Console.WriteLine($"x:{x}, y:{y}");
Swap2(ref x, ref y);
Console.WriteLine($"x:{x}, y:{y}");
}
}
}
'유니티 프로그래밍 > C# 프로그래밍' 카테고리의 다른 글
C# 오버로딩 잘 생각이 안날때 보는 예제 (0) | 2022.07.28 |
---|---|
C# 파라메터 이름 지정 + 선택하지 않는 파라메터 지정 (0) | 2022.07.26 |
C# 에서 중첩 for를 쉽게 빠져나올 수 있는 방법 GOTO (0) | 2022.07.12 |
For문 사용법 + 중첩For문 간단히 사용 (0) | 2022.07.09 |
C#에서의 Switch문 활용 사용 (0) | 2022.07.05 |