【发布时间】:2016-06-13 08:10:20
【问题描述】:
我注意到在 c# 中的数组实现了ICollection<T>。数组如何实现通用容器接口,但本身不是通用的?我们可以这样做吗?
编辑:我还想知道数组不是通用的,但它接受任何类型并具有类型安全性。
public class ListOfStrings : IList<string>
{
...
}
这是一个很好的例子,展示了我们可以从泛型创建非泛型(谢谢 MarcinJuraszek !!)。这个集合会被字符串卡住。我的猜测是它与字符串的泛型值类型声明无关,是一些我不熟悉的内部接线。
再次感谢您!
【问题讨论】:
-
数组已经是通用的 -
int[]定义了一个int类型的数组。由于它是一种内置类型,我想有一些语法糖基本上是Array<int>(但请注意,Array与[]不同 - 这只是一个示例) -
这完全有道理,这将真正帮助我在未来思考这个问题! int[] ~ 数组
标签: c# arrays generics icollection