回答
List<T>
是一个参考类型(类),所以没有?
是必需的。只需在方法体中分配null
到ExClass
参数。
另一种方法是在列表或空列表中包含0(零)个元素。 – Sharique 2011-10-31 11:38:34
安东说,你并不需要使用Nullable<T>
- 但它肯定会是一个out
参数:
private void Test(out List<ExampleClass> foo)
有可能你混淆一个可空List<T>
与List<T?>
这将是有效的值类型...例如,您可以使用:
private void Test(out List<Guid?> foo)
这将是一个out参数,它是一个可为空的guid列表。
另一方面,在void
方法中通常不需要out
参数 - 您通常应该将其用作返回类型。
感谢乔恩。所示的方法只是一个例子,并感谢您提供解释。 – Trent 2010-02-08 11:17:10
使用?
仅用于可为空的ValueTypes。
作为out
参数与否与此无关。但是你不能在课堂上做一个Nullable<T>
; T
必须是一个结构。否则编译器会抱怨。
除此之外,大写参数名称(使用exClass
而不是ExClass
)被认为是不好的样式。你的程序工作原理是一样的,但任何读你代码的人都可能被误导。
- 1. 为什么我不能写Nullable <Nullable <int>>?
- 2. 可空<T>作为参数
- 3. “Convert.ToString(Nullable <int>)”和“Nullable <int> .ToString()”之间的区别?
- 4. IList <InterfaceType>为List <ImplementsInterfaceType>?
- 5. Powershell参数列表传递像-a <args list> -d <args list>
- 6. 为什么Nullable <>不隐藏GetType?
- 7. 如何将List <DerivedClass>分配给IEnumerable <BaseClass>参数?
- 8. 字典用List <>作为TValue
- 9. 序列化导出为ICollection <>到XML的List <>
- 10. 获得[]为IEnumerable字符串的输出参数<string>
- 11. 问题与LINQ查询输出转换为List <>在asp.net
- 12. IList <IWhatever>作为方法参数
- 13. 为什么是List <>。OrderBy LINQ比IComparable + List <>更快。
- 14. List <Tuple<T1,T2>>作为GridView的DataSource
- 15. 将<s>和</s>作为android pocketsphinx的输出
- 16. IDictionary <String,List <OpenXmlCompositeElement >> - 获取List <OpenXmlCompositeElement>?
- 17. List <Map <String,List <>>> in BaseAdapter,Android
- 18. List <Map <String,String >> vs List <Object>
- 19. ObjectResult <Nullable <DateTime>> to IEnumerable <DateTime>?
- 20. #<Closure>输出
- 21. List <T> as'out'参数会导致错误。为什么?
- 22. Java - ArrayList <Integer>作为参数...?
- 23. 颜色参考<item> -Tag,内部<layer-list>
- 24. 转换List <Staging <Importable>>转换为List <Staging <ImportableImpl >> with java 8 stream
- 25. 如何将数据表转换为List <long,List <keyvaluepair <string,string >>> in C#
- 26. 如何将List <IEnumerable <ProductViewModel >>转换为<IEnumerable <ProductViewModel >>?
- 27. List <string> binding
- 28. Casting C#List <>
- 29. List <> OrderBy IComparer?
- 30. JAXB - List <Serializable>?
由于您已经编写了代码,为什么不自己尝试呢? – stakx 2011-08-28 12:15:00