how to compare string with enum in C#

前端 未结 6 1836
自闭症患者
自闭症患者 2020-12-03 13:07
string strName = \"John\";
public enum Name { John,Peter }

private void DoSomething(string myname)
{
case1:
     if(myname.Equals(Name.John) //returns false
     {
         


        
6条回答
  •  不知归路
    2020-12-03 13:59

    If you using .NET4 or later you can use Enum.TryParse. and Enum.Parse is available for .NET2 and later

    // .NET2 and later
    try
    {
        switch (Enum.Parse(typeof(Names), myName))
        {
            case John: ... 
            case Peter: ...
        }
    }
    
    // .NET4 and later
    Name name;
    if (Enum.TryParse(myName, out name))
        switch (name)
        {
            case John: ... 
            case Peter: ...
        }
    

提交回复
热议问题