Home  >  Article  >  Backend Development  >  How to convert a string to a value of enumeration type using the Enum.Parse function in C#

How to convert a string to a value of enumeration type using the Enum.Parse function in C#

WBOY
WBOYOriginal
2023-11-18 11:44:00954browse

How to convert a string to a value of enumeration type using the Enum.Parse function in C#

How to use the Enum.Parse function in C# to convert a string into an enumeration type value

In C#, an enumeration (Enum) is a A data type used to declare a set of related constants. When we need to convert a string into an enumeration type value, we can use the Enum.Parse function to achieve this. This article will introduce in detail how to use the Enum.Parse function and give specific code examples.

The Enum.Parse function is a powerful method that attempts to parse an enumeration type value from a specified string. Its declaration is as follows:
public static object Parse(Type enumType, string value)

Among them, enumType represents the enumeration type to be parsed, and value represents the string to be parsed. The return value of the Enum.Parse function is an object type value, which we need to convert to the target enumeration type.

The following is an example that demonstrates how to use the Enum.Parse function to convert a string to an enumeration type value:

using System;

enum Color
{
    Red,
    Green,
    Blue
}

class Program
{
    static void Main(string[] args)
    {
        string colorString = "Green";

        Color color = (Color)Enum.Parse(typeof(Color), colorString);

        Console.WriteLine("枚举类型的值为:" + color);
    }
}

In the above code, we define an enumeration named Color Lift type, which contains three constants Red, Green and Blue. In the Main method, we first define a colorString variable and assign it the string "Green". Then, we use the Enum.Parse function to parse the colorString into an enumeration type value and assign it to the color variable. Finally, we print the color value through the Console.WriteLine function.

When we run the above code, "The value of the enumeration type is: Green" will be output, proving that we successfully converted the string into a value of the enumeration type.

It should be noted that when we use the Enum.Parse function, we need to ensure that the input string is in the correct format and matches the constant name of the target enumeration type. If the input string does not match the enumeration type, an ArgumentException will be thrown.

In addition to the above examples, we can also perform more robust conversions by combining the TryParse method and the Enum.Parse function. The TryParse method can return a default value when conversion fails to avoid throwing exceptions. The following is a specific example:

using System;

enum DayOfWeek
{
    Sunday,
    Monday,
    Tuesday,
    Wednesday,
    Thursday,
    Friday,
    Saturday
}

class Program
{
    static void Main(string[] args)
    {
        string dayString = "Monday";

        DayOfWeek day;

        if (Enum.TryParse(dayString, out day))
        {
            Console.WriteLine("枚举类型的值为:" + day);
        }
        else
        {
            Console.WriteLine("无法解析字符串为枚举类型的值");
        }
    }
}

In the above code, we first define a dayString variable and assign it to the string "Monday". Then, we defined a day variable and used the Enum.TryParse method to parse the dayString into a value of enumeration type. If the parsing is successful, the result will be assigned to day and the result will be output; if the parsing fails, "Unable to parse the string into an enumeration type value" will be output.

Through the above example, we learned how to use the Enum.Parse function in C# to convert a string into an enumeration type value. Whether you use the Enum.Parse function directly or use the Enum.Parse function in combination with the TryParse method, you can flexibly convert strings to enumeration types, making it easier for us to handle various enumeration type operations.

The above is the detailed content of How to convert a string to a value of enumeration type using the Enum.Parse function in C#. For more information, please follow other related articles on the PHP Chinese website!

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn