裏口からのC#実践入門

1-20 const が使えるケースで普通の変数を使う

定数は大文字で書いちゃった。
規約的にはよくないようだ。
大文字の使用規則
だけど、クラス名、メソッド名、プロパティと全てPascalだからなんか見辛い気がする。

using System;

namespace Uraguchi.Scene1
{
    public class Tenshi20
    {
        private const double AVOGADRO = 6.02E23;

        public static void Run()
        {
            // AVOGADRO = 10; // コンパイルエラー
            double mol = 10;
            Console.WriteLine("{0} mol の水に含まれる水分子は {1} 個", mol, AVOGADRO);
        }
    }
}

そう言えば、const じゃなくて readonly 使おうぜってどこかで見たような、と思ったら Effective C# だった。

Effective C# 4.0

Effective C# 4.0

が、この用途なら const でいいと書いてるね。