質問: 題名通り、const と static read only の違いと使い分けについて下記の理解をもっています。もし、間違っていたり、アドバイスをいただける点がありましたら、是非お願いします。 MSDNのリファレンス: readonly (C# リファレンス) const (C# リファレンス) !画像の説明をここに入力
回答: 「注意」の項目が気になったのでそこだけ。 > > 別のアセンブリから定数を参照する場合、その値は、呼び出しのアセンブリへコピーされます。呼び出し元のアセンブリにて定数を変更しでも、呼び出し先の定数が更新されます。 > > > アセンブリXで定義したconstをアセンブリYで参照するとき、Xでその値を変更すると、Yを再ビルドしないと変更後の値はYに反映されません。 Eric Lippertによれば、そもそもそのような状況はあってはならないもので、将来変更され得るような値をconst定義すべきではありません。円周率や金の原子に含まれる陽子の数のような、絶対不変の値のみがconst定義されるべきものである、と。 (とはいえ、私としてはデフォルト引数などで使えるようにconst定義が必要な場合もある気はします。)