[C#] ref, out

송칭·2024년 9월 24일
0

ref
변수를 복사하여 인자로 전달하는 것이 아니라 변수 그 자체를 전달함 (초기화 된 변수만 가능)
함수 내부에서 해당 변수의 값을 수정할 수 있음 (꼭 수정하지 않아도 괜찮음)

out
return값이 여러개인 경우 주로 사용 (초기화 되지 않은 변수도 가능)
함수 내부에서 해당 변수의 값을 수정할 수 있음 (꼭 바꿔야 함)

float CalcAreaAndCircum(ref float x, float y, out float circum)
{
    circum = 2 * (x + y);

    return x * y;
}

void Start()
{
    float x = 15f;
    float y = 20f;
    float circum;

    float area = CalcAreaAndCircum(ref x, y, out circum);

    Debug.Log($"둘레 : {circum} / 넓이 : {area}");
}
profile
게임 클라이언트

0개의 댓글