C++에서 &를 통해 하던 참조 연산이 C#에서는 막혀 있었다.
이와 유사한 out과 ref가 있었는데 둘이 다르면서도 같은데 정확하게 어디서 써야 할 지는 아직은 미궁이다.
out은 밖에서 변수를 초기화 하지 않아도 사용이 가능하며 하지만 method 안에서 반드시 초기화를 해주고 써야 한다.
ref는 참조하는 형식으로 사용하는데 밖에서 반드시 초기화 해주고 써야 한다.
ref는 좀 더 수정한다는 의미에 가깝고 out은 값을 반환하는 의미가 있다고 하는데 정확한 쓰임새는 좀더 알아 봐야 하겠다.
Copilot에 따른 차이점
특징 out
re
f
초기화 필요 여부 호출 전에 초기화 불필요 호출 전에 초기화 필요
메서드 내부 초기화 여부 반드시 초기화 필요초기화 필요 없음
값 반환 여러 값을 반환 가능 수정된 값을 반환
사용 목적 값을 반환하기 위한 매개변수 값을 수정하기 위한 매개변수
사용 시점 반환값이 여러 개 필요할 때 기존 변수 값을 변경할 때
** 본 문은 Microsoft Copilot의 도움으로 작성되었습니다.
댓글 없음:
댓글 쓰기