儘管缺少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中文網其他相關文章!