ConstantとReadonlyの違いとは?分かりやすく解説!

この記事には、アフィリエイト広告を利用しています。

スポンサーリンク


定数とreadonlyの主な違いは、定数がコンパイル時に評価されるのに対して、readonlyは実行時に評価されることです。

C#は、オブジェクト指向プログラミングをサポートする現代的な汎用プログラミング言語です。

CLI(Common Language Infrastructure)のために設計されています。

変数とは、メモリの場所に付けられる名前です。

それは値を持つことができ、この値は、プログラムの中で使用することができます。

int変数は整数値を保持し、double変数は2倍値を保持するなど、さまざまな種類の変数があります。

これらの変数は、定数や読み取り専用として宣言することもできます。

定数は絶対定数、readonlyは非絶対定数に使用されます。

スポンサーリンク

定数とは

Constantは、絶対定数として使用します。

値は、変数の宣言時に設定されます。

一例を挙げると、以下のようになります。

int const number = 50;

numberの値は、宣言時に50に設定されます。

代入後、変数の値を変更することはできません。

What is the Difference Between Constant and Readonly

constは、式の中でしか定数を使うことができません。

そのような例として、次のようなものがあります。

int const num1 = 10;

int const num2 = 20;

int const num3 = num1 + num2;

以下のような記述があると、コンパイル時にエラーになります。

int const a =10;

int b =5;

int const c = a+b;

これは、bが非定数であるため、コンパイル時にエラーとなります。

Readonlyとは

Readonlyは、実行時に評価されます。


宣言時に値を設定する必要はない

コンストラクタで値を代入する。

一例を挙げると、次のようになります。

class Program{

readonly double pi;

プログラム(){

pi = 3.14;

}

void changeValue(){。

// pi = 3.1;

}

}

piという値はコンストラクタの内部で代入されています。

changeValue() は pi に値を代入できません。

代わりに、プログラマは次のように宣言時に変数を初期化することができます。

readonly double pi = 3.14;

また、readonlyはクラスレベルでしか宣言できず、メソッド内では宣言できません。

定数と読み込みの違い

定義

定数とは、C#のプログラミングにおいて変更不可能な変数のことで、readonlyとは、C#のキーワードで、フィールドへの代入が宣言の一部または同一クラス内のコンストラクタ内でのみ可能であることを示すものである

評価

constantとreadonlyの主な違いは、constantがコンパイル時に評価されるのに対して、readonlyは実行時に評価されることです。

キーワード

const」キーワードは定数に、「readonly」キーワードは読み出し専用に使用されます。

数値の割り当て

定数とreadonlyの違いは、定数では宣言時に値を指定することが必須ですが、readonlyでは宣言時に値を指定することは必須ではありません。

しかし、readonlyでは、宣言時に値を割り当てることは必須ではありません。

宣言時、あるいはクラスのコンストラクタで値を代入することができる。

レベルの宣言

また、定数はクラスレベル、メソッドレベルで宣言することができます。

readonlyはクラスレベルでしか宣言できません。

使用方法

また、constは絶対値に対して使われますが、readonlyは絶対値でない定数に対して使われます。

これもconstantとreadonlyの違いです。

結論

定数とreadonlyは似ているように見えますが、違いがあります。

定数とreadonlyの違いは、定数がコンパイル時に評価されるのに対し、readonlyは実行時に評価されることです。

タイトルとURLをコピーしました