【发布时间】:2011-05-12 04:00:16
【问题描述】:
如果要创建类型为 T 的空 IEnumerable,可以使用静态泛型方法创建它
Enumerable.Empty<T>()
请参阅here 了解更多信息。
为什么微软选择这个选项而不是在泛型类型上使用静态方法(而不是在非泛型类型上使用泛型静态方法)?
这个方法可以这样使用:
Enumerable<T>.Empty()
这会返回一个空的IEnumerable<T>。
在我看来,第二个选项更有意义,因为我要创建的是通用 IEnumerable<T>,而不是非通用 IEnumerable。
编辑:错字
【问题讨论】:
-
这是
Enumerable.Empty<T>不是IEnumerable.Empty<T> -
fyi 你的意思是 Enumerable.Empty
不是 IEnumerable.Empty ,你不能在接口上有静态。 -
是的,当我发布我的问题时,我意识到原因是因为您显然不能在接口上使用静态方法。此外,Enumerable
不存在。
标签: c# methods static types generics