alunote’s blog

C#,SQL,JavaScriptなどの技術メモをゆっくり投稿しています。

【C#】定数の定義constとstatic readonlyについて

今回は定数の定義方法について記述します。
そもそも定数とは。。。
プログラミングにおいて、特定の値に名前をつけたもの。
変数と異なり、宣言時に決めた値をコードの中で後から変更することができない。
多くの言語では“constant”を縮めた“const”というキーワードで宣言する。
※IT用語辞典から引用

一度決めたら変更することが出来ないため、
プログラムの中で何度も参照される値や、変更する必要がないものに使用されます。
まさに、動かざること山の如しですね。。。

◆constについて

constは、コンパイル時定数です。
宣言時に値を代入する必要があり、将来変更されない値をconst定義します。
例えば、円周率や原子の陽子数など絶対不動の値にのみ使用してください。
また、constの値を変更した場合はリビルドする必要があり、dllだけを差し替えても反映されません。
constで宣言できる変数は以下です。
int, float, double, bool, char, string

定義方法は以下のように記述します。

public const string a = "abc";
static const int b = 1;

◆static readonlyについて

static readonlyは、実行時変数です。
値型と参照型の両方に使用することができ、宣言時に値を代入しなくてもエラーになりません。
また、一度宣言するとその後は代入することはできません。

定義方法は以下のように記述します。

static readolny string c = "abc";
static readonly int d = 1;

以上です。
この記事が誰かの役に立つことを祈ります。