C#枚举型可以是int,chr,long吗

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C#枚举型可以是int,chr,long吗相关的知识,希望对你有一定的参考价值。

参考技术A 每种枚举类型都有基础类型,该类型可以是除 char 以外的任何整型。枚举类型的默认基础类型为 int。默认情况下,第一个枚举数的值为 0,后面每个枚举数的值依次递增 1。
例如:
enum Days Sat, Sun, Mon, Tue, Wed, Thu, Fri;
在此枚举中,Sat 为 0,Sun 为 1,Mon 为 2,依此类推。

枚举数可以具有重写默认值的初始值设定项。
例如:
enum Days Sat=1, Sun, Mon, Tue, Wed, Thu, Fri;
在此枚举中,强制元素序列从 1 而不是 0 开始。

若要声明另一整型枚举,例如 byte,请在标识符之后紧跟类型,然后再使用冒号:
例如:
enum Days : byte Sat=1, Sun, Mon, Tue, Wed, Thu, Fri;

准许使用的枚举类型的基础类型有byte、sbyte、short、ushort、int、uint、long 或 ulong。
可以给 Days 类型的变量赋以基础类型范围内的任何值,所赋的值不限于已命名的常数。
enum E 的默认值为表达式 (E)0 产生的值。
注意: 枚举数的名称中不能包含空白。
基础类型指定为每个枚举数分配的存储大小。但是,从 enum 类型到整型的转换需要用显式类型转换来完成。例如,下面的语句通过使用强制转换从 enum 转换为 int,将枚举数 Sun 赋给 int 类型的变量:
int x = (int)Days.Sun;

以上是关于C#枚举型可以是int,chr,long吗的主要内容,如果未能解决你的问题,请参考以下文章

我可以在 C# 中从泛型类型转换为枚举吗?

在C#中long与int64有啥区别吗

java中long型如何转换为int型?还有long[ ]可以转换为int吗?

c#下可否将一个枚举类型的数组转换为一个整型数组

c#中的数据类型简介(枚举)

c#中泛型集合怎样写强制类弄转换