ref 키워드를 매개변수 앞에 붙여주면 된다.
static void Swap(ref int a, ref int b)
{
int temp = b;
b = a;
a = temp;
}
메소드 호출시
int x = 3;
int y = 4;
Sqap(ref x, ref y);
앞에서 매개변수를 메소드에 참조로 전달하는 방법에 알아보았다면, 이번에는 메소드의 결과를
참조로 반환하는 참조 반환값(ref return)에 대해 살펴보겠습니다.
참조 반환값을 이용하면 메소드의 호출자로 하여금 반환받은 결과를 참조로 다룰 수 있도록 합니다.
이러한 메소드를 선언하는 방법은 다음과 같습니다. ref 한정자를 이용해서 메소드를 선언하고,
return 문이 반환하는 변수 앞에도 ref키워드를 명시해야 합니다.
class SomeClass
{
int SomeValue = 10;
public ref int SomeMethod() // ref 키워드로 메소드를 한정합니다.
{
//~~ 코드로직
return ref SomeValue;
// return 문을사용할 때 ref 키워드를 반환할
// 필드나 객체 앞에 붙여줍니다.
}
}