<C#Learn/>
C#基礎 レッスン7

定数

constとreadonlyの違いと、それぞれの使いどころを学びましょう。

const — コンパイル時定数

const キーワードで宣言した定数はコンパイル時に値が確定します。宣言と同時に初期化が必要で、 その後は変更できません。数値・文字列・bool型など基本型に使えます。

const は暗黙的にstatic です。インスタンスに依存しません。

const の使い方

数学定数や設定値などに使います。

C#エディタ

readonly — 実行時定数

readonly実行時に値が確定します。コンストラクタで初期化でき、 new式などの実行時の値も使えます。クラスのフィールドに使います。

const を使う場面

  • 数学定数(Pi、Eなど)
  • 設定の上限値・下限値
  • 固定の文字列定数
  • 複数ファイルで共有する定数

readonly を使う場面

  • コンストラクタで初期化する値
  • 実行時に決まるオブジェクト
  • 依存性注入で受け取る値
  • 配列・コレクションの参照

readonly の使い方

readonlyはクラスのフィールドとして使い、コンストラクタで初期化できます。

C#エディタ