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

Ответы на вопрос(6)

Ваш ответ на вопрос