尽管缺少 Count 属性,数组如何部分实现 IList
在 C# 中,数组实现了 IList
深入框架
虽然数组没有实现 IList
CLR 的嘎嘎鸭方法
CLR 为数组实现了特殊技术,类似于用于值的技术类型。编译器识别对 IList
Count 属性实现
尽管没有显式声明,但 Count 属性可以被访问。然而,它的实现如下:
internal int get_Count<T>() { // Warning: "this" is an array, not an SZArrayHelper T[] _this = JitHelpers.UnsafeCast<T[]>(this); return _this.Length; }
正如评论所暗示的,这种行为可能被认为是违反规则的,但它有助于高效的数组处理。
结论
数组部分实现了 IList
以上是C# 数组如何在没有显式计数属性的情况下实现 IList?的详细内容。更多信息请关注PHP中文网其他相关文章!