首頁 >後端開發 >C++ >如何測量C#中物件的記憶體消耗?

如何測量C#中物件的記憶體消耗?

DDD
DDD原創
2025-01-14 17:02:47800瀏覽

How Can I Measure the Memory Consumption of Objects in C#?

計算 C# 物件的記憶體使用量

本文介紹如何估計 C# 中物件(例如 Hashtables、SortedLists 和 Lists)所使用的記憶體。 精確測量很困難,但我們可以獲得近似值。

近似記憶體大小

以下方法提供了物件記憶體佔用的合理估計:

<code class="language-csharp">long size = 0;
object o = new object();
using (var s = new MemoryStream())
{
    var formatter = new BinaryFormatter();
    formatter.Serialize(s, o);
    size = s.Length;
}</code>

此程式碼使用 BinaryFormatter 將物件序列化為位元組流。流的長度充當物件記憶體大小的代理。序列化捕獲物件的資料和結構,密切鏡像其記憶體中表示。

以上是如何測量C#中物件的記憶體消耗?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn