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)
{
}
}
cuando uso .Equals
referencia es comparar y cuando uso ==
que significa valor de comparación.cómo comparar cadena con enum en C#
¿Hay un código mejor en lugar de convertir el valor enum en ToString()
para comparar? porque destruye el propósito del tipo de valor enum y también, ToString()
en enum está en desuso?
cuerdas ¿Cómo es que se están comparando con los valores ENUM? ¿Hay alguna manera de evitar eso por completo? – dlev
Intentar comparar una enumeración con una cadena es una MALA idea. –