旗下导航:搜·么
当前位置:网站首页 > .Net教程 > 正文

C#进修日志11---数据范例 之 罗列(enum)范例【C#.Net教程】,C#,数据类型,枚举类型

作者:搜教程发布时间:2019-11-27分类:.Net教程浏览:27评论:0


导读:前面我所引见的全都是值范例,写这么多了,我总结以下什么叫值范例。简朴的说,该范例的变量直接存储所包括的值。这里我们与C语言中的字符串相对照一下,charch[6]="HC...
前面我所引见的全都是值范例 ,写这么多了,我总结以下什么叫值范例 。简朴的说,该范例的变量直接存储所包括的值。这里我们与C语言中的字符串相对照一下,char ch[6] = "HC666"; 老师说过这里实际上是用ch来援用“HC666”的地点,经由过程接见地点来接见数据。string也是一样,因而C#中的字符串 String 就是援用范例,而不是值范例。。而struct 范例却不是如许,经由过程直接赋值来转变变量存储内容,因而它是值范例。

值范例 之 罗列(enum)范例:

罗列(enum): 实际上是为一组在逻辑上密不可分的整数值供应便于影象的标记。 举个例子来说吧,比方到了星期天了,我买了张影戏票取看影戏,坐位号一看挺好---66号,根据号码我找到了位置,很好的一个位置---第2排第5列,因而兴奋的看完了影戏。实在这个66号在我地点的放映室里对映的就是 第2排第5列,这就叫一个罗列。

声明罗列(enum)范例变量:

enum   变量名
                   {
                   标识符列表     
            } ;


注重:

标识符列表中,元素与元素之间用 , 逗号分开;

罗列列表中的每一个标记代表一个整数值,一个比他前面标记大的整数值,默许情况下,第一个罗列标记代表0,固然也能够修正:

using System;  
using System.Collections.Generic;  
using System.Linq;  
using System.Text;  
  
namespace Test  
{  
    class Program  
    {  
        //定义 enum 范例 以0最先递增  
        enum weekday  
            {  
                Sun, Mon, tue, Wed, thu, Fri, Sat    //若要转变默许值只需  (Sun = 2, Mon, tue, Wed, thu, Fri, Sat)以2最先递增+1  
            };  
  
        static void Main(string[] args)  
        {  
            weekday wek;  
            Console.WriteLine("输入0~6一个数字: ");  
            int i = int.Parse(Console.ReadLine());  
  
            wek = (weekday)i;     //强迫范例转换,将int范例转化为 weekday 范例  
  
            Console.WriteLine("{0} 是 {1}", i, wek);  
  
        }  
    }  
}

我输入一个0:

关于代码中涌现的 强迫范例转换 我会在后面的 隐式转换与显现转换 中详细写出,如今就不做引见了。

构造(struct)范例 与 罗列(enum )范例的比较:

我有个同砚他老是 Struct范例 与 enum范例 傻傻分不清,有时候写出如许的毛病代码来了:

enum  wek
{
     int   a,b,c;
   string  d,e,f;
}

为了防止以上的毛病,这里我就说说它们之间的区分吧:在说 struct范例 的时候我已提到了它内里的数据范例能够是多个差别范例的,换句话说,Struct范例是由差别范例的数据构成的一组新范例,构造范例变量的值是由各个成员的值组合而成。比方:

  Struct   wek
{
      public  int   a  = 1;
     public  int   b = 2;
}

定一个变量 wek w; 此时的 w 既能够用来示意 a 的值是1 (w.a),也能够示意 b 的值是 2(w.b)

而罗列(enum)范例 则差别,罗列范例的变量在某一时候只能取罗列列表中某一个元素的值,比方:前面我编写的enum weekday 的顺序中wek 在某一时候只能示意一个值 ,它不能在统一时候既示意 Sun 也示意 Mon ,

wek = (weekday)2; 此时wek 只能示意Tue,不能示意别的的了。

以上就是C#进修日志11---数据范例 之 罗列(enum)范例的内容,更多相关内容请关注ki4网(www.ki4.cn)!

标签:C#数据类型枚举类型


欢迎 发表评论: