c# ref 예제

out 키워드로 인해 인수를 참조로 ed합니다. 이는 ref에 변수를 ed하기 전에 초기화해야 한다는 점을 제외하면 refkeyword와 유사합니다. out 매개 변수를 사용하려면 메서드 정의와 호출 메서드 모두 out 키워드를 명시적으로 사용해야 합니다. 예: 시스템 사용; System.Collections.Generic 사용; System.Linq 사용; System.Text 사용; 네임스페이스 outexample { 클래스 프로그램 { 정적 보이드 값 {val (int val) { val = 20; } 정적 보이드 Main(문자열[] args) { int 값; 값(out value); 콘솔.쓰기 라인(값); 콘솔.읽기(); } } } 위의 예제를 관찰하는 경우 ref 키워드를 사용하여 변수 x의 참조를 변수 a에 곱하기 a로 전달합니다. 이 경우 변수 a에는 변수 x의 참조가 포함되어 있으므로 변수 a에 대한 변경 내용은 변수 x의 값에 영향을 미칩니다. ” 값으로 참조 변수를 초기화할 수 없습니다.” 클래스의 구성원은 참조, 인 또는 출력에 의해서만 다른 서명을 가질 수 없습니다. 형식의 두 멤버 간의 유일한 차이점은 그 중 하나에 ref 매개 변수가 있고 다른 하나는 out 또는 매개 변수가 있는 경우 컴파일러 오류가 발생합니다. 예를 들어 다음 코드는 컴파일되지 않습니다. 예를 들어 다음 문은 GetEstimatedValue: Output: 20 ref 및 out 키워드에 대한 몇 가지 유용한 사실 참조 및 출력 키워드에 대한 몇 가지 유용한 팩트에 의해 반환되는 ref local 값을 정의합니다. 컴파일 타임에 있습니다. 따라서 한 메서드가 ref 인수를 취하고 다른 메서드가 아웃 인수를 사용하는 경우 메서드를 오버로드할 수 없습니다. 이 두 가지 방법은 예를 들어 컴파일 측면에서 동일하므로 이 코드는 컴파일되지 않으므로 이전 예제에서 성공 사례에서 Empty에 할당된 매개 변수를 할당해야 합니다(out 매개 변수를 이해하기 위해 이 예제를 사용했습니다). 참조 또는 out 키워드를 사용하지 않는 경우 값 형식 변수가 어떻게 행동하는지 확인했습니다.

이 키워드를 사용할 때 값 형식 변수의 동작을 살펴보겠습니다. 실패하면 우리는 실패 한 이유를 원합니다. 이 경우 우리는 원인으로 매개 변수를 “out”하고 해당 “out” 매개 변수에 해당 오류를 할당할 수 있습니다. out 메서드를 선언하는 것은 메서드가 여러 값을 반환하려는 경우에 유용합니다. out 매개 변수를 사용하는 메서드는 여전히 변수를 반환 유형으로 사용할 수 있지만(반환 참조) 하나 이상의 개체를 호출 메서드에 out 매개 변수로 반환할 수도 있습니다. 이 예제에서는 단일 메서드 호출을 사용 하 여 세 개의 변수를 반환 하는 데 사용 합니다. 세 번째 인수는 null에 할당됩니다. 이렇게 하면 메서드가 값을 선택적으로 반환할 수 있습니다. 시스템 사용; System.Collections.Generic 사용; System.Linq 사용; System.Text 사용; 네임 스페이스 outexample 클래스 프로그램 {정적 보이드 값 (int i,out 문자열 s1, 아웃 문자열 s2) { i=20; s1=”나는 반환되었습니다”; s2 = null; } 정적 보이드 메인 (문자열[] args) { int v; 문자열 str1; 문자열 str1, 값 (아웃 v, out str1,out str2); Console.WriteLine(v +” ” + str1 +” “+ str2); 콘솔.읽기(); } } } 출력 : 20 내가 반환되었습니다 그래서 “ref”매개 변수를 사용할 때 매개 변수에 대한 조작을 수행하려는 경우 (예를 들어 두 변수를 교환) 우리는 ref 매개 변수를 사용할 수 있습니다.