ホームページ > バックエンド開発 > C++ > C#のstructs vs.クラス:いつ選択する必要がありますか?

C#のstructs vs.クラス:いつ選択する必要がありますか?

DDD
リリース: 2025-02-01 04:21:07
オリジナル
794 人が閲覧しました

Structs vs. Classes in C#: When Should You Choose Which?

構造(struct)とclass(class)

はいつですか c#では、構造またはクラスを選択する場合、次の原則を検討してください。

構造を使用する時期:

このタイプは、基本タイプと同様の単一の値を表します(たとえば、整数とデュアル受典フローティングポイント番号)。

例のサイズは16バイト未満です。
  • 同じです(作成後に変更することはできません)。
  • 頻繁に箱に入れることはありません(参照タイプに変換されます)。
  • いつクラスを使用するか:

このタイプは、複数または複雑なデータ構造を表します。 サイズは16バイトを超えています。

    作成後に変更する必要があります。
  • 参照パラメーターとして頻繁に梱包または渡されます。
  • Microsoftの位置Microsoftは、構造が小さい、通常は短い例、または他のオブジェクトに埋め込まれたインスタンスに使用されることを推奨しています。ただし、上記のすべての特性を満たさない限り、構造を定義しないと警告します。

.NET Frameworkのクラスは、内部構造をそのおよび

タイプとして使用します。これらの構造は、上記の原則に従います

単一の値(キー値ペアと列挙状態の状態)を示します。

非常に小さい(16バイト未満)。

は同じです(作成後、データを変更できません)。

Dictionary<TKey, TValue>頻繁な梱包を避けます(主に内部で使用されます)。 Entry Enumerator

マイクロソフトはいつルールを破るのか
  • これらのガイダンスの原則にもかかわらず、Microsoftの内部構造は、多くの場合、サイズと不変の規則に違反します。これは、構造と速度比のインスタンスがより速くなるため、速度と効率を優先することです。ただし、これらの例外は、事故を避けるために処理する必要があります。
  • その他の予防策
  • 構造が実装されると、インターフェイスに変換されると、参照タイプになります。

偶発的なコピーや変更を避けるために、責任のある価値の種類に対処する必要があります。 構造のパフォーマンスの利点は、主に、多数または頻繁な作成と小さなデータ項目へのアクセスが含まれるシナリオに反映されています。

以上がC#のstructs vs.クラス:いつ選択する必要がありますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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