string strName = "John";
public enum Name { John,Peter }
private void DoSomething(string myname)
{
case1:
if(myname.Equals(Name.John) //returns false
{
}
case2:
if(myname == Name.John) //compilation error
{
}
case3:
if(myname.Equals(Name.John.ToString()) //returns true (correct comparision)
{
}
}
私が使用する.Equals
ときは参照比較であり、使用するとき==
は値の比較を意味します。
ToString()
比較のために列挙値をに変換する代わりに、より良いコードはありますか?値型enumの目的を破壊し、またToString()
enumでは非推奨になるため??