에서 키워드 '에서'. 예를 들어 msdn 사이트 (https://msdn.microsoft.com/en-us/library/ee332485.aspx)에서 : "... 다음 예제에서는 을 반환합니다. 단일 메서드 호출로 세 개의 변수가 반환됩니다."반환 여러 값이 나는 현재 '아웃'키워드로 우리가 <strong><em>반환</em></strong> 여러 값을 수 있는지 진술 때 그것이 무엇을 의미하는지 이해하기 위해 사투를 벌인거야 C#을
class OutReturnExample
{
static void Method(out int i, out string s1, out string s2)
{
i = 44;
s1 = "I've been returned";
s2 = null;
}
static void Main()
{
int value;
string str1, str2;
Method(out value, out str1, out str2);
// value is now 44
// str1 is now "I've been returned"
// str2 is (still) null;
}
}
난 그냥 설명 잘 읽어 아니에요 있는지 확실하지 않습니다하지만 방법은()에서 아무것도 실제로는 반환하지 않습니다합니다 ('반환'키워드를 사용하지 않는) 것 같다 all과 기본적으로 필드를 지정합니다 (마찬가지로 ref를 통해 전달합니다). 이것은 'out'을 사용하여 다른 소스와 일치 할 수 있습니다. return 여러 값. 반환 단어의 컨텍스트를 잘못 이해하고 있습니까, 아니면 내가 컨셉을 제대로 이해하지 못하고있는 라인에있는 것입니까?
키워드'out'은 메소드 호출 후에 그 변수가 할당되어야 함을 의미합니다. – dcg
반환과 의미 상 동일합니다. 메서드를 호출하면 반환 유형이있는 메서드를 호출하고 결과로 하나의 변수가 채워지는 것처럼 결과가 채워진 "out"변수가 있습니다. – Evk
'out' 키워드는 외부 범위에있는 모든 값이 "생성"및 "할당"됨을 의미합니다. 'out'은 현재의 mehtod에서 그 값들을 변경해야한다는 계약을 선언했기 때문에 리턴 된 것이라고 말할 수 있습니다. –