1. ホーム
  2. c#

[解決済み】C#でフィールドを「読み取り専用」にするメリットは何ですか?

2022-03-25 22:52:17

質問

メンバ変数が読み取り専用と宣言されていることのメリットは何ですか? クラスのライフサイクル中に誰かがその値を変更するのを防ぐだけなのか、それともこのキーワードを使用することで速度や効率が向上するのでしょうか?

どのように解決するのですか?

その readonly キーワードは、メンバ変数を定数と宣言するために使用されますが、実行時に値を計算することができます。 この点は const 修飾子は、コンパイル時にその値を設定しなければなりません。 使用方法 readonly の場合、フィールドの値を設定するのは、宣言時か、そのフィールドがメンバーであるオブジェクトのコンストラクタのどちらかです。

また、定数を参照する外部DLLを再コンパイルする必要がない場合にも使用します(コンパイル時に置換されるからです)。