C# オブジェクトのメモリ使用量の概算
C# オブジェクトのメモリ フットプリントを正確に判断することは困難です。 ただし、シリアル化を使用すると、信頼できる推定値を取得できます。
シリアル化を使用したオブジェクト サイズの推定
このメソッドには、オブジェクトをストリームにシリアル化し、ストリームの長さをチェックすることが含まれます。 完全に正確ではありませんが、オブジェクトのメモリ消費量の妥当な近似値が得られます。
<code class="language-csharp">long size = 0; object o = new object(); using (Stream s = new MemoryStream()) { BinaryFormatter formatter = new BinaryFormatter(); formatter.Serialize(s, o); size = s.Length; }</code>
具体例
この手法は、Hashtable
、SortedList
、List<string>
などのさまざまなコレクション型に適用して、メモリ使用量を把握できます。
重要な考慮事項: このアプローチは、正確なメモリ測定が必要なすべての状況に適しているとは限りません。より正確な結果を得るには、専用のメモリ プロファイリング ツールをお勧めします。
以上がC# オブジェクトのメモリ サイズを推定するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。