일단 둘의 공통점은 둘다 레퍼런스 타입 이라는 것. 그리고 사용 목적이 비슷하다는 점.(둘다 메소드 내에서 어떤 값을 처리하는 용도.)
둘의 차이점은
ref는 주로 메소드 내에서 원래 있던 값을 수정하고자 할 때 사용한다.
따라서 메소드 수행 전 해당 변수값이 미리 초기화가 되어 있어야 하고.
out는주로 메소드 내에서 생성된 새로운 값을 반환해 사용하고자 할 때 사용한다.
따라서 해당 변수가 미리 초기화 되어 있을 필요는 없고.
선언만 되어있는 상태여도 작동한다. 하지만 메소드 안에서 해당 값을 반드시 할당 해 주어야 한다.
'프로그래밍 > C#' 카테고리의 다른 글
가중치 랜덤 생성 (0) | 2018.03.13 |
---|---|
이진탐색 (0) | 2018.03.11 |
c# string으로 class 인스턴스 생성하기 (0) | 2017.09.04 |
c++ 의 템플릿과 c#의 제네릭 (0) | 2016.12.29 |
c# 개념에대해 정리가 잘된곳 (0) | 2016.11.02 |