ホームページ > バックエンド開発 > C++ > C# オブジェクトのバイト サイズを確認するにはどうすればよいですか?

C# オブジェクトのバイト サイズを確認するにはどうすればよいですか?

Linda Hamilton
リリース: 2025-01-10 15:56:41
オリジナル
458 人が閲覧しました

How Can I Determine the Byte Size of C# Objects?

C# オブジェクトのバイト サイズを調べる

C# では、オブジェクト インスタンスのバイト サイズを正確に判断するのは簡単ではありません。オブジェクトにはさまざまなコレクション、組み合わせ、個々のエンティティが含まれる場合があるため、そのサイズを正確に測定することが困難になります。

オブジェクトのサイズを決定する

パブリック API はありませんが、オブジェクトのバイト サイズを決定する効率的な方法があります。

<code class="language-csharp">object obj = new List<int>();
RuntimeTypeHandle th = obj.GetType().TypeHandle;
int size = *(*(int**)&th + 1);
Console.WriteLine(size);</code>
ログイン後にコピー

このコードは、オブジェクトのタイプ TypeHandle を使用して、内部の「ベース インスタンス サイズ」フィールドを取得します。このメソッドは文書化されていないため、将来の .NET 更新で非推奨になる可能性があることに注意してください。

考慮すべき要素

このメソッドは、同じ明確に定義された型のインスタンスを持つ「通常の」オブジェクトに対して機能します。ただし、配列、文​​字列、StringBuilders などのオブジェクトのサイズは、オブジェクトに含まれる要素の数に依存するため、正確に測定することはできません。これらのオブジェクトの場合、そのオブジェクトを含む要素のサイズをその基本インスタンスのサイズに追加する必要があります。

以上がC# オブジェクトのバイト サイズを確認するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート