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)System.Enum.Parse(typeof(Colors), "Red");
Enum–>Int
(1)因为枚举的基类型是除 Char 外的整型,所以可以进行强制转换。
例如:
(int)Colors.Red, (byte)Colors.Green;
这里写代码片
Int–>Enum
(1)可以强制转换将整型转换成枚举类型。
Colors color = (Colors)2;
(2)利用Enum的静态方法ToObject。
public static Object ToObject(Type enumType,int value)
Colors color = (Colors)System.Enum.ToObject(typeof(Colors), 2);
判断某个整型是否定义在枚举中的方法:Enum.IsDefined
public static bool IsDefined(Type enumType,Object value)
System.Enum.IsDefined(typeof(Colors), n));
Enum为枚举提供基类,其基础类型可以是除 Char 外的任何整型。如果没有显式声明基础类型,则使用 Int32。编程语言通常提供语法来声明由一组已命名的常数和它们的值组成的枚举。 注意:枚举类型的基类型是除 Char 外的任何整型,所以枚举类型的值是整型值。Enum 提供一些实用的静态方法:(1)比较枚举类的实例的方法(2)将实例的值转换为其字符串表示形式的方法(3)将数字的字符串表示形式转换为
将枚举类型
转换
为
int
在
C#
里非常简单,直接(
int
)强
转
就行了,可是这样写代码不方便,尤其让我这种懒癌患者难受,我喜欢用扩展方法的方式实现
转换
,比如这样
string
转
int
:
public static class Extend
String
public static
int
To
Int
(this
string
s,
int
defaultValue = 0)
int
i;
Enum
为枚举提供基类,其基础类型可以是除 Char 外的任何整型。如果没有显式声明基础类型,则使用
Int
32。编程语言通常提供语法来声明由一组已命名的常数和它们的值组成的枚举。
注意:枚举类型的基类型是除 Char 外的任何整型,所以枚举类型的值是整型值。
Enum
提供一些实用的静态方法:
(1)比较枚举类的实例的方法
(2)将实例的值...
unity
将object[]或者
string
对象
转换
成枚举
enum
protected override void OnSetData(params object[] datas)
string
str = datas[0].To
String
();
Loop...
在Java中,一个枚举类型是由一组常量所组成的。这些常量在编译时就已经确定,因此与普通的变量不同,枚举类型的值不能随意改变。
有时候我们需要将一个枚举类型的值
转换
成整数或字符串类型,或者将一个整数或字符串类型的值
转换
为枚举类型。这时,我们可以使用Java中提供的一些方法来实现。
如果我们要将一个枚举类型的值
转换
为整数类型,可以使用枚举类型中的ordinal()方法。该方法返回该枚举常量在枚举类型中的序号,从0开始计数。示例代码如下:
enum
Color{
GREEN,
Color color = Color.RED;
int
index = color.ordinal(); // 0
如果要将一个整数类型的值
转换
成枚举类型,可以使用枚举类型中的values()方法。该方法返回一个包含所有枚举常量的数组。我们可以利用这个数组和整数类型的值来获取要
转换
的枚举类型。示例代码如下:
enum
Color{
GREEN,
int
index = 1;
Color color = Color.values()[index]; // GREEN
如果要将一个枚举类型的值
转换
为字符串类型,可以使用枚举类型中的name()方法。该方法返回该枚举常量的名称。示例代码如下:
enum
Color{
GREEN,
Color color = Color.RED;
String
name = color.name(); // "RED"
如果要将一个字符串类型的值
转换
为枚举类型,可以使用枚举类型中的valueOf()方法。该方法接受一个字符串类型的参数,并返回相应的枚举常量。需要注意的是,该方法对于不存在的枚举常量或空字符串会抛出IllegalArgumentException异常。示例代码如下:
enum
Color{
GREEN,
String
name = "GREEN";
Color color = Color.valueOf(name); // GREEN