Как сравнить строку с перечислением в C #
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 устарела ??