C# の 'const string' と 'static readonly string' [重複] 質問する

C# の 'const string' と 'static readonly string' [重複] 質問する

C#では、

static readonly string MyStr;

そして

const string MyStr;

?

ベストアンサー1

文字列を使用するとconst、コンパイラは文字列の値を埋め込みますコンパイル時に
したがって、別のアセンブリで値を使用しconst、元のアセンブリを更新して値を変更した場合、再度更新するまで他のアセンブリでは変更が反映されません。コンパイルそれ。

文字列static readonlyは、実行時に検索される通常のフィールドです。したがって、フィールドの値が別のアセンブリで変更された場合、アセンブリが読み込まれるとすぐに、再コンパイルせずに変更が反映されます。

これは、文字列がやstatic readonlyなどの非定数メンバーを使用できることも意味します。文字列は、他の定数またはリテラルを使用してのみ初期化できます。また、文字列は静的コンストラクターで設定できますが、文字列はインラインでのみ初期化できます。Environment.UserNameDateTime.Now.ToString()const
static readonlyconst

static string変更可能であることに注意してください。static readonly代わりに を使用する必要があります。

おすすめ記事