Wie man einen String mit einer Enumeration in C # vergleicht

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)
     {

     }
}

wenn ich benutze.Equals es ist referenz vergleich und wenn ich es benutze== es bedeutet Wertvergleich.

Gibt es einen besseren Code, als den Aufzählungswert in umzuwandeln?ToString() zum Vergleich? weil es den Zweck des Werttyps enum zerstört und auch,ToString() on enum ist veraltet ??

Antworten auf die Frage(4)

Ihre Antwort auf die Frage