定数と読み取り専用の違いは何ですか
目次:
NS 主な違い 定数と読み取り専用の間では、 定数はコンパイル時に評価され、読み取り専用は実行時に評価されます。
C#は、オブジェクト指向プログラミングをサポートする最新の汎用プログラミング言語です。共通言語基盤(CLI)用に設計されています。変数は、メモリ位置に付けられた名前です。値を持つことができ、この値はプログラムで使用できます。変数にはさまざまなタイプがあります。 int変数は整数値を保持し、double変数はdouble値などを保持します。これらの変数は、定数および読み取り専用として宣言することもできます。絶対定数には定数が使用され、非絶対定数には読み取り専用が使用されます。
C#、定数、読み取り専用
定数とは
定数は絶対定数に使用されます。値は、変数の宣言中に設定されます。
一例を以下に示します。
int const number = 50;
宣言時の数値は50に設定されています。割り当て後、変数の値を変更することはできません。
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は定数ではないため、これによりコンパイル時エラーが発生します。
読み取り専用とは
読み取り専用は実行時に評価されます。宣言時に値を設定する必要はありません。値はコンストラクターで割り当てられます。一例を以下に示します。
クラスプログラム{
読み取り専用ダブルパイ;
プログラム(){
pi = 3.14;
}
void changeValue(){
// pi = 3.1;
}
}
値piは、コンストラクター内で割り当てられます。 changeValue()はpiに値を割り当てることができません。代わりに、プログラマーは次のように宣言時に変数を初期化できます。
読み取り専用doublepi = 3.14;
定数と読み取り専用の違い
意味
定数はC#プログラミングでは変更できない変数を指し、readonlyはC#のキーワードであり、フィールドへの割り当ては宣言の一部として、または同じクラスのコンストラクターでのみ発生することを示します。
評価
定数と読み取り専用の主な違いは、定数はコンパイル時に評価されますが、読み取り専用は実行時に評価されることです。
キーワード
「const」キーワードは定数に使用され、「readonly」キーワードは読み取り専用に使用されます。
値の割り当て
定数と読み取り専用のさらなる違いは、定数では、宣言時に値を割り当てる必要があることです。ただし、読み取り専用では、宣言時に値を割り当てる必要はありません。値は、宣言またはクラスコンストラクターで割り当てることができます。
レベルの宣言
使用法
また、constは絶対値に使用されますが、readonlyは非絶対定数に使用されます。これは、定数と読み取り専用のもう1つの違いです。
結論
定数と読み取り専用は似ているように見えるかもしれませんが、違いがあります。定数と読み取り専用の違いは、定数はコンパイル時に評価され、読み取り専用は実行時に評価されることです。
リファレンス:
1.「Constとは何ですか? –WhatIs.comからの定義。」 TheServerSide.com、ここから入手できます。
画像提供:
1.マイクロソフトによる「ロゴCシャープ」–(パブリックドメイン)コモンズウィキメディア経由