"ref" 대신 "out"을 사용해야 하는 경우
"out"과 "ref" 매개변수 중에서 선택할 때 "ref"가 특별히 요구되지 않는 한 기본 선택은 "out"입니다.
Out과 Ref의 차이점
"ref"는 매개변수로 전달된 변수의 원래 값을 수정하는 메서드를 허용하는 반면, "out"은 이 기능을 금지합니다. 초기 값을 마샬링하면 불필요한 처리가 발생할 수 있으므로 프로세스나 기계 간 데이터 전송과 관련하여 이러한 구별은 매우 중요합니다.
“out” 사용에 적합한 시나리오
다음 시나리오를 고려해보세요.
<code class="language-c#">person.GetBothNames(out a, out b);</code>
"person"이 객체이고 "GetBothNames"가 두 값을 검색하는 메소드라고 가정하면, "a"와 "b"의 초기 값은 메소드의 동작과 아무런 관련이 없습니다. 이 경우 "in" 또는 "out"을 사용하는 것이 선호되는 문제이며, 초기 값의 불필요한 마샬링을 제거하기 위해 "out"을 선택하는 것이 좋습니다.
"ref" 사용에 적합한 시나리오
반면, 초기 값을 수정하는 것이 메서드 의도의 일부인 경우 "ref"가 적합합니다.
<code class="language-c#">bool didModify = validator.SuggestValidName(ref name);</code>
"name" 매개변수는 참조로 전달되므로 "validator" 메소드가 해당 값을 변경하고 "didModify"를 반환하여 변경 사항을 나타낼 수 있습니다.
간단히 말하면, 대부분의 경우 초기 변수 값을 수정할 필요가 없으면 "out"이 더 나은 선택이고, 수정이 필요한 경우에는 "ref"가 필요합니다.
위 내용은 C#의 Out 및 Ref 매개변수: 언제 어느 것을 사용해야 합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!