C#::출력 전용 매개 변수 out

out 매개변수에 대한 이해를 구하기 위해 인터넷을 검색하다가 이곳의 내용을 보고 약간의 도움을 얻어 여기에 백업한다.


두 개 이상의 결과를 요구하는 메서드를 사용하기 위해서는 출력 전용 매개 변수를 사용하면 됩니다.

출력 전용 매개 변수를 사용하려면 매개변수 데이터 형식 앞에 out를 써주면 됩니다.

출력 전용 매개 변수 예제

 

using System; namespace UsingOut { class Program { static void Divide(int a, int b, out int qutient, out int remainder) { qutient = a / b; remainder = a % b; } static void Main(string[] args) { int a = 20; int b = 3; int c; int d; Divide(a, b, out c, out d); Console.WriteLine("a: {0}, b: {1}, a/b: {2}, a&b: {3}", a, b, c, d); } } }

 

 

위의 코드는 ref 키워드를 사용해서 구현할 수도 있습니다.

 

static void Divide(int a, int b, ref int qutient, ref int remainder) { qutient = a / b; remainder = a % b; } int a = 20; int b = 3; int c = 0; int d = 0; Divide(a, b, ref c, ref d);

 

하지만 out 키워드를 사용하면 조금 더 안전한 프로그램을 만들 수 있습니다.

ref 키워드를 사용하면 매개 변수에 결과를 저장하지 않아도 오류나 경고를 하지 않습니다.

 

out 키워드를 사용할 때 메서드가 해당 매개 변수에 결과를 저장하지 않으면 에러 메시지를 출력합니다.

메서드를 호출하는 쪽에서 out 매개변수로 넘길 변수를 초기화하지 않아도 해당 메서드에서 값을 할당할 것을 보장하기 때문입니다.

 

결과를 할당하지 않는 버그를 만들 가능성을 제거할 수 있게 됩니다.

ref를 사용했을 때 오류가 나지 않기 때문에 오류를 잡기 매우 어려워질 수 있습니다.

 

 

out과 ref의 심층 연구는 여기 참고

C # 7로 ref 및 out 이해 (c-sharpcorner.com)

 

Understanding ref And out With C# 7

This article explains the usage of ‘ref’ & ‘out’ in depth along with the enhancement done in C# 7.

www.c-sharpcorner.com

 

사람의 생각을 대신해 주는 서비스는 언제 나올까?

    이미지 맵

    Engineering/코딩 다른 글

    이전 글

    다음 글