ASP.Netアプリケーション内でこれらの変数を使用することに関して少し混乱しました。C#ASP.Net Webforms - 文字列 - 静的読み取りと静的読み取り
public static string Complete = "Complete";
限り私は承知している、この値は、すべてのユーザーに対してグローバルになりますが、値は、アプリケーションプールのリサイクルに起因して存在することが保証されていないと値がリサイクルに割り当てられていませんか?
public static readonly string Complete = "Complete";
readonly
フラグは、値が原因値は常に利用できるようになります。つまり、クラスの静的コンストラクタで初期化され得るために常に利用可能であることを意味していますか?
限り、私は承知しているとして、以下がreadonly
シナリオで起こる:
- 変数
- アクセスが構築されたクラスですか?いいえ? 1
に変数
readonly
と非読み取り専用バージョンの間に違いはありますか?私は、変数を保証するために、次のように、我々はまた、それを書くことができたとします public static string Complete { get { return "Complete"; } }
それとも単に=「コンプリート」コンプリート '公共のconst文字列の書き込み、私は' const'を含めるつもりだったが、 '語っ使用している場合は、すべての参照アセンブリは更新する必要はありません' ;-) –
をconst? – Mig
@MiG正確には、constを軽く使用しない非常に強力な理由です。できるだけconstの上でreadonlyを優先します。 – Icarus