次の例を考えてみましょう。列挙値をオーバーライドして、大文字だけでなく列挙型を解析できるようにしようとしています。
public enum Language
{
Heb,
Eng,
heb = Heb,
eng = Eng
}
class Program
{
static void Main(string[] args)
{
var e = "heb";
Language result;
Enum.TryParse(e, out result);
Console.WriteLine(result);
Console.WriteLine(result.ToString());
}
}
この例は次を返します: "Heb" "Heb"
一方、この例:
public enum Language
{
Heb,
Eng,
heb = Heb,
eng = Eng,
None
}
class Program
{
static void Main(string[] args)
{
var e = "heb";
Language result;
Enum.TryParse(e, out result);
Console.WriteLine(result);
Console.WriteLine(result.ToString());
}
}
「heb」「heb」を返します
理由はありますか?