数组[]的开放泛型类型是什么?

Geo*_*uer 3 c# arrays generics open-generics

当我这样做int[]string[],T[]- 这是一个通用数组.数组就像其他所有对象一样.

那么[]的实际开放泛型类型是什么?我认为它只是一些语法糖而不是类似Array<>但我无法找到任何类似的东西.

如果你能在Jon Skeet之前以某种方式回答这个问题,可以获得奖励积分.

Mar*_*wul 7

它只是System.Array; 它不是通用的.请参阅此处以获取简短的讨论:http://blogs.msdn.com/b/ericlippert/archive/2007/10/17/covariance-and-contravariance-in-c-part-two-array-covariance.aspx

  • 因为System.Array实现了`IEnumerable <T>`.通用ICloneable,IList,ICollection,IEnumerable,IStructuralComparable,IStructuralEquatable等.但是,框架在运行时提供这些实现,因为Array本身不是通用的. (7认同)