가능합니까?Nullable List <> out 매개 변수로
private void Test(out List<ExampleClass>? ExClass)
{
}
출력 매개 변수 인 nullable List <>
가능합니까?Nullable List <> out 매개 변수로
private void Test(out List<ExampleClass>? ExClass)
{
}
출력 매개 변수 인 nullable List <>
List<T>
은 참조 유형 (클래스)이므로 ?
은 필요하지 않습니다. 메소드 본문의 null
에 ExClass
매개 변수를 지정하면됩니다.
또 다른 방법은 목록 또는 빈 목록에 0 개의 요소가있는 것입니다. – Sharique
안톤은 Nullable<T>
를 사용할 필요가 없습니다, 말했듯이 -하지만 확실히 out
매개 변수가 될 수 :
private void Test(out List<ExampleClass> foo)
그것은 당신이 유효 할 것입니다 이는 List<T?>
으로 널 (NULL) List<T>
을 혼동하고 가능 값 유형 ... 예를 들어 다음과 같이 사용할 수 있습니다.
nullable guid 목록 인 out 매개 변수입니다.
반면에 void
메서드에는 out
매개 변수를 사용하는 것이 일반적으로 좋지 않습니다. 대신 일반적으로 반환 유형으로 사용해야합니다.
Jon에게 감사드립니다. 제시된 방법은 단지 예일 뿐이며 설명을 해주셔서 감사합니다. – Trent
nullable ValueTypes에 대해서만 ?
을 사용하십시오.
out
매개 변수는 여기에 관계가 없습니다. 하지만 클래스로 Nullable<T>
을 만들 수는 없습니다. T
은 구조체 여야합니다. 그렇지 않으면 컴파일러가 불평 할 것이다.
이 외에도 매개 변수의 이름을 대문자로 사용하는 것은 좋지 않은 스타일입니다 (ExClass
대신 exClass
사용). 프로그램은 동일하게 작동하지만 코드를 읽는 사람은 누구나 오도 될 수 있습니다.
코드를 작성 했으므로 직접 시도하지 않은 이유는 무엇입니까? – stakx