zoukankan      html  css  js  c++  java
  • C# 枚举的初始化

    3.2 枚举类型(Enum types)的默认值

      对于枚举类型(Enum types),.NET会自动将字面值0(literal 0)隐式地转换为对应的枚举类型。

      3.2.1 有一个0值成员

      如果枚举类型中的某个成员被赋予0值(不要求是第一个成员),那么枚举变量所储存的值就是该成员的值。假定Alignment的成员被赋值如下:

    //Code #06
    enum Alignment
    {
      Left = 1,
      Center = 0,
      Right = 2
    }

      那么,下面这句

      Alignment a = new Alignment();

      将等效于

      Alignment a = Alignment.Center;

      3.2.2 没有0值成员

      如果枚举类型中任何一个成员都不为0,例如

    // Code #07
    enum Alignment
    {
      Left = 1,
      Center = 2,
      Right = 3
    }

      那么

      Alignment a = new Alignment();

      将等效于

      Alignment a = (Alignment)0;

      或者

      Alignment a = 0;

      而此时,枚举变量a所储存的值我们可以称为非预定义枚举(成员)值。

      3.2.3 有两个或以上的0值成员

      那么,如果枚举类型里存在多于一个成员被赋予0值呢?例如

    // Code #08
    enum Alignment
    {
      Left = 0,
      Center = 1,
      Right = 0
    }

      你能猜得出下面代码的运行结果吗?

    // Code #09
    Alignment a = new Alignment();
    Console.WriteLine(a.ToString());

      从该代码的运行结果中我们可以看到,new把Alignment.Left“许配”给枚举变量a。现在让我们看看下面这段代码:

    // Code #10
    string a = Enum.GetName(typeof(Alignment), 0);
    Console.WriteLine(a.ToString());

    http://tech.ddvip.com/2008-10/122481054481924_4.html

  • 相关阅读:
    cmake的安装
    安装cmake过程g++: 错误:unrecognized command line option ‘-std=gnu++14’
    进程空间分配
    git 基本操作
    nm命令
    container_of 宏
    cmake
    fiddler修改Requests之前的数据和response 之后的数据
    Fiddler抓包请求前设置断点
    jmeter连接mysql数据库
  • 原文地址:https://www.cnblogs.com/zk-zhou/p/6380742.html
Copyright © 2011-2022 走看看