constをつける意味とメリットを教えてください。


C#の **const**
は、変数の型の前につけますね。値を書き換えられなくなります。値が変えられなくなったらどうなりますか？どういう意味があるのでしょうか？そして、そのメリットとは何ですか。constはどんなときに必要ですか？

[code]

    namespace test
    {
        class Program
        {
            static void Main(string[] args)
            {
                const double TAX = 0.08
                int price = 1000;
                double result;
    
                result = price * TAX;
            }
        }
    }
    
[/code]




[constキーワード](https://docs.microsoft.com/ja-jp/dotnet/csharp/language-
reference/keywords/const)で説明されています。

> いずれかの時点で変わることが予想される情報を表すために定数を作成してはなりません。
> たとえば、サービスの価格、製品バージョン番号、会社のブランド名などを格納するためには定数フィールドを使用しないでください。
> これらの値は時間の経過とともに変更される場合があります。

というわけでほとんど使わなくてもいいと思います。

* * *

マイナス投票するほどとは思いませんが、速度や効率が上がるとは思いません。.NETではJITコンパイルされます。つまり実行時に変数のアクセス状況を判断してコンパイルが可能なため、const未指定であったとしても変更されないことを検出した上で最適化が行われます。

