二十、枚举类型

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace _20.枚举类型
{
    enum orientation : byte
    {
        north = 1,
        south = 2,
        east = 3,
        west = 4
    }
    
    class Program
    {
        static void Main(string[] args)
        {
            /**
             * 枚举类型:
             * 使用enum关键字定义枚举类型。
             * 其定义语法:
             *  enum <typeName> [: <underlyingType>]
             *  {
             *      <value1>,
             *      <value2>,
             *      <value3>,
             *      ...
             *      <valueN>
             *  }
             *  
             * 定义枚举变量:
             *  <typeName> <varName>;
             *  
             * 引用枚举变量:
             *  <varName> = <typeName>.<value>;
             *  
             * 解析说明:
             * 1. 枚举使用一个基本类型来存储。
             * 2. 枚举类型可以提取每个值都存储为该基本类型的一个值,默认情况下该类型为int。
             * 3. <underlyingType>用来指定枚举值类型。
             * 4. 枚举的基本类型:byte,sbyte,short,ushort,int,uint,long,ulong。
             * 5. 在默认情况下,每个值都会根据定义的顺序(从0开始),自动赋值给对应的基本类型值。
             * 6. 使用=号运算符,指定每个枚举的实际值,可以多个枚举指定相同的值。
             * 7. 以循环方式指定枚举值会出现错误。
             *    例如:
             *    enum <typeName> : <underlyingType>
             *    {
             *      <value1> = <value2>,
             *      <value2> = <value1>,
             *    }
             * 
             */
             
            byte directionByte;
            string directionString
            ;
            orientation myDirection = orientation.north;
            Console.WriteLine("myDirection = {0}", myDirection);
            
            directionByte = (byte)myDirection;
            directionString = Convert.ToString(myDirection);
            
            Console.WriteLine("byte equivalent = {0}", directionByte);
            Console.WriteLine("string equivalent = {0}", directionString);
            Console.WriteLine("string equivalent = {0}", myDirection.ToString());
            
            // 以下方法作用:把string类型转换为枚举值。
            // (enumerationType)Enum.Parse(typeof(enumerationType), enumerationValueString);
            // enumerationValueString参数是区分大小写的。
            // typeof运算符是得到操作数的类型。
            
            string myString = "west";
            
            orientation direction = (orientation)Enum.Parse(typeof(orientation), myString);
            Console.WriteLine("direction = {0}", (byte)direction);
            
            Console.ReadKey();
        }
    }
}
时间: 2024-10-21 04:27:46

二十、枚举类型的相关文章

(二十二)枚举类型基础

public class Test { public static void main(String[] args) { //测试普通的枚举类型 System.out.println("SPRING的值="+season.SPRING); //遍历普通枚举类新 System.out.println("---遍历普通枚举类型---"); for(season str:season.values()){ System.out.println(str); } //遍历含有

C#语言基础——结构体和枚举类型

结构体和枚举类型 一.结构体(struct) 结构类型是用户自己定义的一种类型,它是由其他类型组合而成的,可包含构造函数.常数.字段.方法.属性.索引器.运算符.事件和嵌套类型的值类型.结构在几个重要方面不同于类:结构为值类型而不是引用类型,并且结构不支持继承. 用结构的主要思想是用于创建小型的对象,如Point和FileInfo等等.这可以节省内存,因为没有如类对象所需的那样有额外的引用产生.例如,当声明含有成千上万个对象的数组时,这会引起极大的差异. 结构体是一个变量组,将一组变量放在一起,

浅谈java中的枚举类型(转)

用法一:常量 在JDK1.5 之前,我们定义常量都是: public static fianl.... .现在好了,有了枚举,可以把相关的常量分组到一个枚举类型里,而且枚举提供了比常量更多的方法. public enum Color { RED, GREEN, BLANK, YELLOW } 用法二:switch JDK1.6之前的switch语句只支持int,char,enum类型,使用枚举,能让我们的代码可读性更强. enum Signal { GREEN, YELLOW, RED } pu

C++ 共用体 枚举类型 所有

一.共用体类型 1.共用体的概念. 有时候需要将几种不同类型的变量存放到同一段内存单元中.例如有三个变量,他们的字节数不同,但是都从同一个地址开始存放.也就是用了覆盖技术,几个变量互相覆盖.这种使几个不同变量共占同一个内存的结构,称为共用体类型结构. 其一般形式: union 共用体类型名 { 成员列表 }; 定义共用体变量的一般形式: 共用体类型名    共用体变量名; 例如: union  data { int a; char ch; double  d; } 注意:结构体变量所占内存长度是

结构体、枚举类型——8月3日

一.结构体.美剧类型都是属于值类型 (一)结构体 就是一个自定义集合,里面可以放各种类型的元素,用法大体跟集合一样. using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Collections;//下面要用到ArrayList集合,就要先引用这个 namespace 结构体_枚举类型 { cl

【转】java枚举类型enum的使用

原文网址:http://blog.csdn.net/wgw335363240/article/details/6359614 java 枚举类型enum 的使用 最近跟同事讨论问题的时候,突然同事提到我们为什么java 中定义的常量值不采用enmu 枚举类型,而采用public final static 类型来定义呢?以前我们都是采用这种方式定义的,很少采用enum 定义,所以也都没有注意过,面对突入起来的问题,还真有点不太清楚为什么有这样的定义.既然不明白就抽时间研究下吧. Java 中的枚举

java 枚举类型enum 的使用

java 枚举类型enum 的使用 最近跟同事讨论问题的时候,突然同事提到我们为什么java 中定义的常量值不采用enmu 枚举类型,而采用public final static 类型来定义呢?以前我们都是采用这种方式定义的,很少采用enum 定义,所以也都没有注意过,面对突入起来的问题,还真有点不太清楚为什么有这样的定义.既然不明白就抽时间研究下吧. Java 中的枚举类型采用关键字enum 来定义,从jdk1.5才有的新类型,所有的枚举类型都是继承自Enum 类型.要了解枚举类型,建议大家先

java之 ------ 枚举类型

枚举 一.枚举类型具体说明 简单的说.Enum一般用来表示一组同样类型的常量. 如性别.日期.月份.颜色等.对这些属性用常量的优点是显而易见的,不仅能够保证单例,且在比較的时候能够用"=="来替 换equals.JDK1.5之前没有Enum这个类型,那时候一般用接口常量来替代. 定义枚举类型时本质上就是在定义一个类别.仅仅只是非常多细节由编译器帮您完毕了.所以某些程度上,enum是一个keyword,它的作用就像是class或interface.(这就是为什么有些人找不到当中的valu

java 枚举类型enum

简单介绍 Java 中的枚举类型采用关键字enum 来定义,从jdk1.5才有的新类型,所有的枚举类型都是继承自Enum 类型.要了解枚举类型,建议大家先打开jdk 中的Enum 类简单读一下,这个类里面定义了很多protected 方法,比如构造函数,如果要使用这些方法我们可以把枚举类型定义到当前类中.每个枚举类型,都有自己的名字和顺序,当我们输出一个枚举类型的时候,会输入枚举类型的name ,具体可以参考下面的例子. 一.   通常定义常量方法 我们通常利用public final stat

DELPHI中枚举类型数据的介绍和使用方法

在看delphi程序的时候看到aa=(a,b,c,d);这样的东西,还以为是数组,同事说是函数,呵呵,当然这两个都不屑一击,原来这样式子是在声明并付值一个枚举类型的数据.下边写下来DELPHI中枚举类型数据的介绍和使用方法.见笑..------------------------------------------------------枚举类型 Pascal程序不仅用于数值处理,还更广泛地用于处理非数值的数据.例如,性别.月份.星期几.颜色.单位名.学历.职业等.1.枚举类型的定义格式: ty