Enum为枚举提供基类,其基础类型可以是除 Char 外的任何整型。如果没有显式声明基础类型,则使用 Int32。编程语言通常提供语法来声明由一组已命名的常数和它们的值组成的枚举。
注意:枚举类型的基类型是除 Char 外的任何整型,所以枚举类型的值是整型值。
Enum 提供一些实用的静态方法:
(1)比较枚举类的实例的方法
(2)将实例的值转换为其字符串表示形式的方法
(3)将数字的字符串表示形式转换为此类的实例的方法
(4)创建指定枚举和值的实例的方法。
举例:enum Colors { Red, Green, Blue, Yellow };
Enum-->String
(1)利用Object.ToString()方法:如Colors.Green.ToString()的值是"Green"字符串;
(2)利用Enum的静态方法GetName与GetNames:
public static string GetName(Type enumType,Object value)
public static string[] GetNames(Type enumType)
例如:Enum.GetName(typeof(Colors),3))与Enum.GetName(typeof(Colors), Colors.Blue))的值都是"Blue"
Enum.GetNames(typeof(Colors))将返回枚举字符串数组。
String-->Enum
(1)利用Enum的静态方法Parse:
public static Object Parse(Type enumType,string value)
例如:(Colors)Enum.Parse(typeof(Colors), "Red")
Enum-->Int
(1)因为枚举的基类型是除 Char 外的整型,所以可以进行强制转换。
例如:(int)Colors.Red, (byte)Colors.Green
Int-->Enum
(1)可以强制转换将整型转换成枚举类型。
例如:Colors color = (Colors)2 ,那么color即为Colors.Blue
(2)利用Enum的静态方法ToObject。
public static Object ToObject(Type enumType,int value)
例如:Colors color = (Colors)Enum.ToObject(typeof(Colors), 2),那么color即为Colors.Blue
判断某个整型是否定义在枚举中的方法:Enum.IsDefined
public static bool IsDefined(Type enumType,Object value)
例如:Enum.IsDefined(typeof(Colors), n))
分享到:
相关推荐
Java Enum和String及int的相互转化示例 Java Enum和String及int的相互转化示例是Java编程语言中的一种重要技术,通过本文,我们将详细介绍Java Enum和String及int的相互转化示例,并提供详细的示例代码,帮助大家更...
它们通常是基于整型数据的,比如Int32。在处理枚举与字符串之间的转换时,有时我们需要根据场景将枚举值转换为字符串,或者反之。这在序列化和反序列化,尤其是与JSON数据交互时特别常见。以下详细介绍了如何在C#中...
2. 将string转换为枚举: 将字符串转换为枚举通常使用`Enum.Parse`或`Enum.TryParse`方法。`Parse`方法在转换失败时抛出异常,而`TryParse`方法则在失败时返回false,不会引发异常。 ```csharp string colorStr ...
接着,使用`int.Parse()`方法将每个字符串元素转换为整数,并存储在`intArr`数组中。 ### 三、读取文件并转换 在实际开发中,经常需要从文件中读取数据,并对其进行转换。以下是一个示例,演示了如何从文本文件中...
枚举字符串C++ 枚举可与字符串相互转换。...int main (){// get enum sizestd::cout << " enum size: " << EnumManager>:: size () << std xss=removed xss=removed>:: toString (e);std::co
目录介绍特征安装用法设置一个MappedValueRepresentable枚举使用MappedValueCollectionRepresented 使用MappedEnum类型的可编码枚举在ESet中使用OptionSet中的EnumSet 将EnumSet转换为Enum数组使用...
这里处理了枚举(Enum)、整型(int)、双精度浮点型(double)等常见类型,如果需要支持其他类型,可以继续添加相应的判断和转换逻辑。 总的来说,C#中的反射机制使得我们可以动态地访问和操作类的信息,包括创建...
这就是"enum-converter"所解决的问题——提供枚举的自定义转换器。 枚举的自定义转换器主要是为了在不同数据格式之间进行枚举的转换,例如将枚举值转换为字符串、整数或其他类型,以便于存储和传输。在Java中,我们...
同时提供了`valueOf()`方法,用于将字符串转换为相应的枚举值,以及`values()`方法,用于获取所有枚举值的数组。 5. **枚举值的顺序**:`ordinal()`方法返回枚举值在枚举类中的位置,这一顺序由枚举值声明的顺序...
通常,我们需要根据业务需求将接收到的字符串数据转换为适当的类型,例如`int`、`long`、`double`、`DateTime`、`enum`、`bool`等。在描述中提到的情况,作者在处理XML数据时遇到了这个问题,并通过借鉴ASP.NET MVC...
3. **Enum.ToObject()**: 这个方法可以将枚举类型转换为其底层类型(如int)的实例,然后再将这个值转换回枚举类型。 ```csharp Color color = (Color)Enum.ToObject(typeof(Color), 0); // 0 对应于 "Red" ``` **...
private Color(String name, int ordinal) { super(name, ordinal); } public static Color[] values() { return ENUM_VALUES.clone(); } public static Color valueOf(String name) { return Enum....
将string转换为enum,并将enum转换为string 以惯用的C ++方式完成所有工作(对通用编程,编译时编程等友好) 例子 让我们看一些代码。 您可以这样声明一个枚举: // Equivalent to enum Color {GREEN = 2, RED}; ...
本文分享了一个ASP.NET类型转换类的代码,该类提供了多种类型的转换方法,包括将对象转换为Int32、ToString等。该类可以帮助开发者更方便地处理数据库获取的字段为空的情况。 ToInt32类型转换 ToInt32类型转换方法...
在Java中,`switch`语句最初只能处理`int`、`char`以及`enum`类型的数据。然而,在实际开发过程中,有时需要根据字符串(`String`)来执行不同的逻辑分支。为了解决这一问题,Java 7引入了一个新特性——支持直接在`...
string name2 = Enum.GetName(typeof(Colors), Colors.Blue); // 结果为 "Blue" ``` - 获取所有枚举成员的名称列表: ```csharp string[] names = Enum.GetNames(typeof(Colors)); // 结果为 ["Red", "Green...
5. **枚举类型转换**:枚举是.NET中的强类型,可以使用`Enum.Parse`或`Enum.TryParse`方法将字符串转换为枚举类型: ```csharp enum Color { Red, Green, Blue } string colorStr = "Green"; Color color = ...
虽然枚举不能直接转换为其他数据类型,但可以通过`Enum.valueOf()`或`Enum.values()`来操作枚举。 以上内容仅是"java类型转换大全"的一部分精华,详细资料可能还包括各种转换的特殊情况、注意事项以及最佳实践。这...
private int id; @ColumnInfo(name = "status") private Status status; // getters and setters } ``` 6. **使用枚举操作数据**:现在,你可以在应用程序中自由地使用枚举类型来插入、查询和更新数据库...