enum:枚举类型

简介: enum:枚举类型

定义

枚举类型是一种值类型,定义好的值会存放到中。


枚举类型在定义时使用 enum 关键字表示,枚举类型的定义与类成员的定义是一样的,或者直接定义在命名空间中。


注意

不能直接将枚举类型定义到方法中!!!


基础语法

定义枚举类型的变量的语法形式如下。

访问修饰符  enum  变量名 : 数据类型
{
  值l,
  值2,
}


  • 访问修饰符:与类成员的访问修饰符一样,省略访问修饰符也是代表使用 private 修饰符的。
  • 数据类型:指枚举中值的数据类型。只能是整数类型,包括 byteshortintlong 等。
  • 值1、值2、……:在枚举类型中显示的值。但实际上每个值都被自动赋予了一个整数类型值,并且值是递增加1 的,默认是从 0 开始的,也就是值1 的值是 0值2 的值是 1


实践用法

如果不需要系统自动为枚举值指定值,也可以直接为其赋一个整数值。

每个没有指定值的枚举值,它的初始值都是上一个枚举类型的值加1

通常设置的枚举值都是不同的,其整数值也是不同的。


示例展示

基本示例:

class EnumTest
{
  public enum Title : int
  {
    助教,
    讲师,
    副教授,
    教授
  }
}
class Program
{
  static void Main(string[] args)
  {
    Console.WriteLine(EnumTest.Title.助教 + ":" + (int)EnumTest.Title.助教);
    Console.WriteLine(EnumTest.Title.讲师 + ":" + (int)EnumTest.Title.讲师);
    Console.WriteLine(EnumTest.Title.副教授 + ":" + (int)EnumTest.Title.副教授);
    Console.WriteLine(EnumTest.Title.教授 + ":" + (int)EnumTest.Title.教授);
  }
}


输出

助教:0 讲师:1 副教授:2 教授:3


接下来尝试一下设置初始值:

class EnumTest
{
  public enum Title : int
  {
    助教=1,
    讲师,
    副教授=4,
    教授
  }
}


输出

助教:1 讲师:2 副教授:4 教授:5


C# 的枚举值是可以设置成相同的初始值的,这点要注意!我们测试一下:

class EnumTest
{
  public enum Title : int
  {
    助教=1,
    讲师,
    副教授=2,
    教授
  }
}


输出

助教:1 讲师:2 讲师:2 教授:3


实用技巧

在写 TypeScript 的时候,枚举类型中的字段不会限制为整数类型,可以是字符串bool等类型,如果想要枚举值中是字符串类型的,我们可以用如下的写法做:

public enum MqttTopicType
{
  msg_sys_up,
  msg_sys_down,
  msg_vcom_up,
  msg_vcom_down
}
var topicType = MqttTopicType.msg_sys_up.ToString(); 

这样得到的 topicType 变量就是形如 "msg_sys_up" 这样的字符串了。

目录
相关文章
|
8月前
|
C语言
C enum(枚举)
C enum(枚举)
53 0
|
3月前
|
C#
C# 枚举(Enum)
枚举是一组命名整型常量。枚举类型是使用 enum 关键字声明的。 C# 枚举是值类型。换句话说,枚举包含自己的值,且不能继承或传递继承。
48 9
|
4月前
|
存储 C语言
C enum(枚举)详解
在C语言中,`enum`(枚举类型)允许用户定义包含命名整数常量的数据类型,提高了代码的可读性和可维护性。通过关键字`enum`定义枚举,如`enum Color {RED, GREEN, BLUE}`。枚举值默认从0开始递增,也可自定义。枚举类型实际上是整型的别名,可用于简化代码并限制变量的具体取值范围。
201 15
|
8月前
|
程序员 C语言
c enum(枚举)
c enum(枚举)
141 1
|
8月前
|
程序员 测试技术 C++
[C++] enum枚举类型用法
[C++] enum枚举类型用法
114 0
|
8月前
|
安全 C++
C++程序中的枚举类型
C++程序中的枚举类型
71 1
|
8月前
|
Java C语言 C++
使用枚举类型
使用枚举类型
47 0
|
8月前
|
编译器 Linux C++
C++ “美中不足” --->强枚举类型
C++ “美中不足” --->强枚举类型
|
8月前
|
索引
06 # 枚举类型
06 # 枚举类型
94 0