zoukankan      html  css  js  c++  java
  • C#枚举的使用

    枚举的使用。
    首先来看枚举是什么?枚举类型是一种的值类型,它用于声明一组命名的常数。
    一.声明:enum 枚举名{中间放入值.}如:enum
     Student{小明,小红}那么此枚举中就为小红和小明
    二.枚举中的赋值
    在枚举中.
    1:
    系统会自动给枚举中的值赋予整数的值(如果不手动赋值,可以理解为下标)
    比如我们想找到他的值,可以写代码如下:
    int num = (int)test.小明;
    Console.WriteLine(num);
    那么此时得到的结果为:0.
    同理如如果输入的为
    int num = (int)test.小红;
    那么得到的结果为:1.
    2
    如果手动给以赋值
     enum Student{小明=10,小红}
    int num1 = (int)test.小明;Console.WriteLine(num);int num2 = (int)test.小红;Console.WriteLine(num);
    那么此时得到的结果为:num1=10,num2=11
    而此时
    enum Student{小明,小红=10}
    int num1 = (int)test.小明;Console.WriteLine(num);int num2 = (int)test.小红;Console.WriteLine(num);
    那么此时得到的结果为:num1=0,num2=10
    可以看出后面的为自动增长

    3:在枚举中无法访问外面的东西(说专业点就是方法,属性)比如:

    是会报错的,当然这里放类是可以的
    三:再看看enum的一下方法
    enum的一些方法貌似都在Enum中(小编是一边学一边写的,有不对的地方请批评)打开Enum后我们会发现好多方法
    其实有好多方法。但大多都是重写的。
    如CompareTo,Equals,Format,ToString,ToObject,Parse,GetHashCode相信大多数的方法大家都认识。其实,HasFlag,IsDefined,GetValues,GetUnderlyingType,GetName,GetTypeCode,GetNames,大家可能有点陌生小编留意的是GetName,GetNames,GetValues
    可能会常用(小编现在从网上就找不到对其更好的解释,我们老师也不会讲,现在小编学习很困难)
    (1)首先来看GetName,方法定义为
    public
     static string GetName(Type enumType, object value);返回一个string类型的值定义string str = Enum.GetName(typeof(Student),0);输出结果为:小明其中有个typeof可以理解为,是通过他来找到这个enum(枚举)的如果你在定义enum中小明=10,小红那么str将什么都不显示
    (2)GetName,方法定义为
    public static string[] GetNames(Type enumType);返回一个string[]类型的值定义为:string[] str = Enum.GetNames(typeof(Student));利用for循环输出的为:小明,小红
    (3)GetValues,(小编发现不是多好用,可以不太会吧。。。)
    方法定义为public static Array GetValues(Type enumType);返回一个Array类型的值Array arr = Enum.GetValues(typeof(test));
    也是通过for循环输出:for
     (int i = 0; i < 2; i++){Console.WriteLine(arr.GetValue(i));}发现结果是一样的.

  • 相关阅读:
    iOS 证书、真机调试、发布 App Store
    iOS 9 适配
    交叉编译tslib1.4
    nau8822 codec driver 录音时mic bias 无法自动打开问题
    nuc900 nand flash mtd 驱动
    在ubuntu14.04上安装oracle java6 java7的方法
    N3292x IBR介绍
    N3292系列资料之RTC介绍
    支持mdev的init脚本片断
    Nginx
  • 原文地址:https://www.cnblogs.com/cg919/p/10512709.html
Copyright © 2011-2022 走看看