C#:枚举
1. 枚举的综合运用
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 | public enum Color { yellow, blue, green } class Program { static void Main( string [] args) { // 1. 正常使用枚举元素 Console.WriteLine(Color.yellow); // 输出: yellow // 2. 通过定义变量使用枚举元素 Color c1 = Color.blue; Console.WriteLine(c1); // 输出: blue // 3. 枚举的元素实际上是“Int”,而且依次编号(增量为1) Console.WriteLine(Convert.ToInt32(Color.green)); // 输出2 // 4. Enum.Parse()方法,根据“字符串”获取对应的枚举元素 Color c2 = (Color)Enum.Parse( typeof (Color), "yellow" , true ); if (c2 == Color.yellow) { Console.WriteLine( "Yes" ); // 输出: Yes } // 5. 根据“下标”获取对应的字符串 string c3 = Enum.GetName( typeof (Color), 1); Console.WriteLine(c3); // 输出: blue // 6. 依次输出枚举元素(下标) foreach ( int i in Enum.GetValues( typeof (Color))) { Console.WriteLine(i.ToString()); // 依次输出: 1, 2, 3 Console.WriteLine(Enum.GetName( typeof (Color), i)); // 根据“下标”获取对应字符串,依次输出: yellow, blue, green } // 7.依次输出枚举值对应的字符串 foreach ( string c in Enum.GetNames( typeof (Color))) { Console.WriteLine(c); // 依次输出: yellow, blue, green } } } |
2. 枚举的值
- 枚举元素不是变量,而是常数。因为是常量,所以不能对枚举元素进行赋值。
- 枚举元素作为常量,它们是有值的,值依次递增,增量为1。
public enum Color { yellow, blue, green } 等同于: public enum Color { yellow = 0, blue = 1, green = 2 }
public enum Color { yellow, blue = 100, green } 等同于: public enum Color { yellow, blue = 100, green = 101 }
3. Enum.Parse(enumType, value, ignoreCase)
根据给定“字符串”获取枚举的值,返回object(使用时需要强类型转换)。
1 2 3 4 5 6 7 8 9 | // enumType: 枚举的 Type // value: 包含要转换的值或名称的字符串 // ignoreCase: 如果为 true,则忽略大小写;否则考虑大小写 // 返回值: enumType 类型的对象,其值由 value 表示 public static Object Parse ( Type enumType, string value, bool ignoreCase ) |
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· winform 绘制太阳,地球,月球 运作规律
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人