如何確定 C# 中任何物件實例的大小(以位元組為單位)?這對於需要確定各種物件集合的聚合大小的情況尤其有用。
取得物件大小
要取得實例的大小,您可以使用一系列未公開的技巧。請記住,這些方法不能保證始終有效,並且在未來的 .NET 更新中可能會發生變化。
使用 TypeHandle
您可以使用 TypeHandle 內部結構來存取類型的「基本實例大小」欄位。方法如下:
<code class="language-csharp">object obj = new List<int>(); // 使用您需要的对象替换 RuntimeTypeHandle th = obj.GetType().TypeHandle; int size = *(*(int**)&th + 1); Console.WriteLine(size);</code>
此方法將為大多數普通型別提供基本實例大小。但是,陣列、字串和 StringBuilder 需要額外的計算來考慮其包含的元素。
擴展方法的考量
雖然沒有已知的擴展方法明確地用於確定物件大小(以位元組為單位),但如果需要,您可以自己開發一個。
以上是如何在 C# 中確定物件實例的大小(以位元組為單位)?的詳細內容。更多資訊請關注PHP中文網其他相關文章!