我最近在List<>
和[]
上做了一些粗略的性能測試,測試了一系列小結構。 System.Array似乎贏了手,所以我去了。System.Array是否對值類型執行裝箱操作?
它只是在我身上才明白System.Array包含對象類型,所以肯定用結構填充它會導致出現裝箱?
然而,the MSDN entry for System.Array狀態:
在.NET Framework 2.0版,Array類實現了
System.Collections.Generic.IList<T>
,System.Collections.Generic.ICollection<T>
和System.Collections.Generic.IEnumerable<T>
通用接口。在運行時向陣列提供 實現,因此 對文檔構建工具不可見。因此,類 類的聲明語法中沒有出現通用的 接口,並且僅有通過將數組轉換爲通用接口類型 (顯式接口實現)才能訪問 的接口成員沒有參考主題。 。
這是否意味着拳擊不會發生? (並且會解釋我的性能結果)
爲了解釋您的績效結果,我們可能應該看到您用來衡量績效的代碼。 – Snowbear