2014-01-09 6 views

답변

7

당신은 방법에서 out 매개 변수를 얻을. 밖으로 인수로 전달 변수가 전달되기 전에 초기화 할 필요는 없지만, 호출 방법은 값을 할당 할 필요가

int b = 0; // initialization is redundant 
string testOutcome = MyFunction(3, out b); 
// b is initialized now 

: 당신은 또한 메소드의 매개 변수 서명에 out 키워드를 추가해야합니다 메서드가 반환되기 전에.

+0

작은 니트 릭 : 호출하는 메소드에서'b = 0' 초기화는 관계가 없습니다. – Douglas

+0

@Douglas : 의견을 추가했습니다. –

2

out 매개 변수를받는 메소드를 사용할 때 out 키워드를 호출 행에 추가해야하므로 위 코드와 같이 컴파일되지 않습니다.

그런 다음 단순히

if (b == 6) 

out 매개 변수를 사용하는 방법에 대한 매우 일반적인 예 시나리오는 Int32.TryParse 방법 B의 값을 확인할 수 있습니다

// No need to initialize b 
// It is mandatory to initialize an out parameter for the called function 
int b; 
var testOutcome = MyFunction(3, out b); 

로 전화 라인을 변경해야합니다

관련 문제