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 ??