タグ

ブックマーク / qiita.com/YUTARO (1)

  • 【C#の定数】const と readonly、static readonly の使い分け - Qiita

    constフィールドは、コンパイル時定数の扱い。(MSDN) 変数のように扱える定数(暗黙的 static) 宣言時にのみ初期化可能(コンパイル時に値が埋め込まれる) readonly より実行速度が速い switch文やデフォルト引数に使える インスタンスを new した結果は割り当てられない(C#の組み込み型のみ) ※注意 コンパイル時に決定されてしまうため、クラスライブラリなどでpublicなconst定数を定義しそれをアセンブリをまたいで参照してしまった場合、将来ライブラリ側の定数を変更しても参照されたアセンブリ側をコンパイルしなおさない限り更新されないという問題がある(constのバージョニング問題) readonlyフィールドは、実行時定数の扱い。(MSDN) 実際は、読み取り専用の代入不可な変数 宣言時の他に、コンストラクタ内でも初期化可能 定数であるconstよりは、僅かに

    【C#の定数】const と readonly、static readonly の使い分け - Qiita
    sirocco
    sirocco 2015/01/27
    C#の定数にはconst と static readonly がある。data Bool = True | False deriving Show のようなことは出来ないのだろうか。
  • 1