`

c# enum 用法

    博客分类:
  • C#
阅读更多
c# 代码
  1. using system;    
  2. enum color    
  3. {    
  4. red,    
  5. green = 10,    
  6. blue    
  7. }    
  8. class test    
  9. {    
  10. static void main() {    
  11. console.writeline(stringfromcolor(color.red));    
  12. console.writeline(stringfromcolor(color.green));    
  13. console.writeline(stringfromcolor(color.blue));    
  14. }    
  15. static string stringfromcolor(color c) {    
  16. switch (c) {    
  17. case color.red:    
  18. return string.format("red = {0}", (int) c);    
  19. case color.green:    
  20. return string.format("green = {0}", (int) c);    
  21. case color.blue:    
  22. return string.format("blue = {0}", (int) c);    
  23. default:    
  24. return "invalid color";    
  25. }    
  26. }    
  27. }    
输出枚举成员名称和它们的关联值。输出为:

red = 0
green = 10
blue = 11
原因如下:

枚举成员 red 被自动赋予零值(因为它不具有初始值设定项并且是第一个枚举成员)。
枚举成员 green 被显式赋予值 10。
枚举成员 blue 被自动赋予比文本上位于它前面的成员大 1 的值。
枚举成员的关联值不能直接或间接地使用它自己的关联枚举成员的值。除了这个循环性限制外,枚举成员初始值设定项可以自由地引用其他的枚举成员初始值设定项,而不必考虑它们所在的文本位置的排列顺序。在枚举成员初始值设定项内,其他枚举成员的值始终被视为属于所对应的基础类型,因此在引用其他枚举成员时,没有必要使用强制转换。 

 

分享到:
评论

相关推荐

    枚举语句enum用法详解

    在C#中,枚举类型是基于整数类型的,通常使用`enum`关键字来声明。例如: ```csharp enum Colors { Red, Green, Blue } ``` 上述代码定义了一个名为`Colors`的枚举,它有三个成员:`Red`、`Green`和`Blue`。默认...

    C#中enum和string的相互转换

    可以使用`Enum.IsDefined()`方法来检查,如`Enum.IsDefined(typeof(RecipientStatus), "Delivered")`返回`true`,表示"Delivered"是`RecipientStatus`的有效枚举值。 在实际开发中,这些转换技巧对于处理枚举与字符...

    给枚举值增加扩展数据

    在C#等编程语言中,枚举可以帮助我们编写更清晰、更具可读性的代码。然而,标准枚举仅支持基本数据类型(如int、byte等)的值,有时我们可能需要为每个枚举成员存储额外的信息,比如描述、关联的配置数据等。这时,...

    C#高性能枚举去除泛型中的重复数据

    枚举(Enum)和泛型(Generic)是C#语言中两个非常重要的特性,它们各自有其独特的作用,但在某些场景下可以结合使用以提高代码的复用性和性能。本文将深入探讨如何利用C#的枚举和泛型技术来实现高性能的数据去重。 ...

    Enum 放置问题说明代码

    在C#编程中,枚举(Enum)是一种强大的工具,用于定义一组相关的命名常量,这些常量可以代表特定的值。枚举类型通常用于表示有限的、已知的值集合,例如星期几、颜色或者状态等。在讨论枚举的放置位置时,最佳实践是...

    关于c#中枚举类型支持显示中文的扩展说明

    在C#编程中,枚举(Enum)是一种强大的工具,用于定义一组相关的命名常量。在某些场景下,特别是涉及到用户界面(UI)交互时,我们可能需要将枚举值以更友好的方式呈现,例如使用中文描述。本文将详细探讨如何在C#中...

    C# DllImport的用法

    通过以上内容的介绍,我们了解了`DllImport`在C#中的作用及其基本使用方法。它为我们提供了与非托管代码交互的能力,使得我们可以更灵活地利用现有的资源,同时也扩展了C#的应用场景。在实际应用中,我们需要根据...

    C#最菜的文档 简单介绍C#的用法 没学过C#的人看着比较舒服

    C#中的异常处理使用try-catch块,允许程序捕获和处理错误,避免程序意外终止。 **8. LINQ(Language Integrated Query)** LINQ是C#的一个强大特性,允许开发者以一致的方式查询各种数据源,如数据库、XML文件、...

    c# 怎样简洁高效的实现多个 Enum 自由转换

    在C#编程中,枚举(Enum)是一种强大的工具,用于定义一组相关的命名常量。然而,当不同开发人员或模块之间定义了相似但不完全相同的枚举时,就需要找到一种方法来方便地进行转换。本文将探讨如何简洁高效地实现在多...

    C#语言语法 c#语言基本语法 c#所有基本用法

    泛型是C#中一个强大的特性,允许在定义类、接口和方法时使用类型参数,从而创建可以处理多种数据类型的通用代码。例如,List就是一个泛型类,T代表了存储的元素类型。泛型提高了代码的复用性和类型安全性。 C#还...

    enum 简单使用例子

    本文将深入探讨`enum`的简单使用方法以及如何结合委托(delegate)进行应用。 首先,我们来看如何声明一个枚举。在C#中,你可以使用`enum`关键字来创建一个新的枚举类型。下面是一个简单的例子: ```csharp public...

    C# 颜色枚举对照表

    5. **EnumColors.cs**:这个文件可能是一个源代码文件,包含了使用 C# 编写的与颜色枚举相关的类或方法。它可能包括了枚举颜色并展示它们的示例代码。 6. **EnumColors.exe**:这是一个可执行文件,可能是编译后的...

    如何在C#中对枚举名称进行排序(升序或降序)

    在C#中,我们可以使用`Enum.GetNames()`方法获取枚举的所有名称,然后通过`Array.Sort()`或`List<T>.Sort()`方法进行排序。以下是一个升序排序的例子: ```csharp public static string[] SortEnumNamesAscending...

    EnumConvertDemo.zip

    3. **Enum.GetNames()**: 如果需要获取枚举所有成员的名称,可以使用这个方法。 ```csharp string[] colorNames = Enum.GetNames(typeof(Color)); // ["Red", "Green", "Blue"] ``` 4. **DisplayAttribute**: 如果...

    C# 变量 枚举和数组

    对于任何级别的C#开发者,理解变量、枚举(enum)和数组是至关重要的基础概念。下面将详细介绍这三个主题。 **1. 变量** 变量在编程中扮演着存储数据的角色。它们可以是各种数据类型,如整型(int)、浮点型(float...

    Unity中实现多标签属性 枚举类型可以选择一个、多个、全选、全不选

    本篇文章将详细讲解如何在Unity中利用C#的枚举(Enum)类型实现多标签属性,允许用户在编辑器中选择一个、多个、全选或全不选的选项。 首先,我们需要定义一个枚举类型,它包含了所有可能的选择项。例如,假设我们...

    C#,利用反射动态创建对象

    - 使用`Type.GetType()`方法:`Type myType = Type.GetType("MyNamespace.MyClass");`(需提供完全限定类名) 3. **动态实例化对象** 获取Type对象后,我们可以通过`Activator.CreateInstance()`方法动态创建对象...

    enum 结构分析源码

    而在更现代的语言如C#或Java中,枚举是一种完全独立的类型,可以拥有方法和属性,这使得枚举更加灵活且功能强大。 总的来说,理解和掌握枚举的使用对于任何C语言开发者来说都是至关重要的,它能帮助我们编写更加...

Global site tag (gtag.js) - Google Analytics