>백엔드 개발 >C++ >C# 매개변수: 언제 `in`, `ref` 또는 `out`을 사용합니까?

C# 매개변수: 언제 `in`, `ref` 또는 `out`을 사용합니까?

Mary-Kate Olsen
Mary-Kate Olsen원래의
2025-01-20 11:47:12296검색

C# Parameters: When to Use `in`, `ref`, or `out`?

C#의 in, ref, out 매개변수 사용 시나리오

C#에서는 매개변수를 메서드에 전달할 때 in, ref 또는 out 매개변수 한정자를 사용할 수 있습니다. refin과 비슷하지만 out의 목적은 다릅니다.

out 매개변수: 사용 시나리오

out 매개변수 사용:

  • 매개변수의 초기값은 메소드의 동작과 아무런 관련이 없습니다.
  • 외부 프로세스에 대한 불필요한 데이터 마샬링을 방지하여 성능을 최적화합니다.
  • 초기 값을 덮어쓰게 된다는 점을 독자에게 분명히 알립니다.

예:

<code class="language-C#">string a, b;
person.GetBothNames(out a, out b);</code>

이 예에서 GetBothNames 메서드는 ab의 초기 값에 관계없이 두 개의 값을 원자적으로 검색합니다.

ref 매개변수: 사용 시나리오

ref 매개변수 사용:

  • 매개변수의 초기값은 메소드의 동작과 관련이 있습니다.
  • 전달된 매개변수를 수정해야 합니다.

예:

<code class="language-C#">string name = textbox.Text;
bool didModify = validator.SuggestValidName(ref name);</code>

이 예에서는 유효성 검사를 위해 name의 초기 값이 필요하며 메서드에서 이를 수정할 수 있습니다.

구문 설탕

out 매개변수는 단순한 구문 설탕 그 이상입니다. 이는 성능상의 이점을 제공하고 메서드의 의도를 명확하게 하며 초기화되지 않은 매개변수 전달을 허용합니다.

위 내용은 C# 매개변수: 언제 `in`, `ref` 또는 `out`을 사용합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.