c#static readonly
の比較で:いつ使用されますか? const
C#クラスで定数値を定義する場合、
フィールドまたは変数が通常使用されます。ただし、2つには独自の意味とユースケースがあります。 static readonly
const
public static Readingのみフィールド(
public static readonly
フィールドは、通常、アプリケーション全体で変更されず、あらゆる場所からアクセスするために使用されます。それらは荷重期間中に初期化され、その後変更することはできません。
)public static readonly
変数は通常、詳細または意図しない値の内部実装で使用されます。コンパイラはそれを最適化し、コールサイトに直接埋め込まれているため、パフォーマンスが向上する可能性があります。 const
提案:静的読み取り値を一般に絶えず使用するために、
const
開示する必要があり、時間の経過とともに変化しない一定の値の場合、通常、
属性の使用
直接フィールドにアクセスするのではなく、static readonly
のみの属性の属性の使用を検討してください。これにより、値の追加制御が提供され、値を返す前に潜在的な変換または検証が可能になります。
の制限
いくつかの制限があります:get
一定の式で初期化する必要があります。
const
すべてのクライアントアセンブリを再構築するには、値を変更します。
ランタイム中に値が取得された場合、または避けた方法がJITコンパイラによって接続されている場合、それは低い場合があります。 const
const
変数は、時間とともに変化しない内部実装の詳細により適しています。属性はより大きな柔軟性と制御を提供しますが、過度の使用は不必要な間接的なアドレス指定につながる可能性があります。最終的に、最良の選択は、アプリケーションの特定のコンテキストとニーズに依存します。 以上が`static readonly` vs.` const` in c#:いつ使用する必要がありますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。