0

.NET では、定数 (クラス内のプライベート定数など) を定義すると、その定数を参照すると、参照先のメモリ内で値が繰り返されます。または、.NET は定数が格納されている場所へのポインターを使用します。 、通常の変数を使用するのと同じですか?

4

2 に答える 2

1

それはILに組み込まれます(つまり「繰り返される」)。別の方法は、 readonlyキーワードを使用することです。

これが公共の定数を非常に危険なものにしていることに注意してください。バグ修正リリースは値を変更する可能性がありますが、constを使用する他のアセンブリは引き続き古い値を使用します。内部定数またはプライベート定数のみを宣言します。パブリック宣言には読み取り専用を使用します。それが宇宙の構造の変化を必要とする「マニフェスト定数」でない限り。Math.Piのように

于 2013-01-12T18:44:10.087 に答える
1

意味するメモリの種類によって異なります。定数はデータメモリに複製されませんが、コンパイルされた IL コード内に埋め込まれたコードメモリの一部になります。

于 2013-01-12T18:43:58.910 に答える