반응형
1. out
- 매개변수를 참조로 전달
- 인수가 초기화 되지 않았어도 전달 가능
- 내부에서 변수에 값을 할당 해주어야 함
2. ref
- 매개변수를 참조로 전달
- 인수가 초기화 되지 않은 경우 전달 불가(오류 발생)
ex)
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace command
{
class Program
{
public static void Out(out int x)
{
x = 1; // 내부에서 해당 변수에 값을 할당 해주어야 함!
x++; // 단독으로는 쓰일 수 없음
}
public static void Reference(ref int x)
{
x++;
}
static void Main(string[] args)
{
int a;
Out(out a); // 초기화 하지 않아도 전달 가능
int b;
Reference(ref b); // 초기화를 하지 않아 오류 발생
int c = 0;
Reference(ref c); // 초기화 이후 전달 가능
}
}
}