学习C# 枚举的那点东西

学习C# 枚举1.类型

成都创新互联公司为企业级客户提高一站式互联网+设计服务,主要包括成都网站设计、网站建设、重庆APP开发成都小程序开发、宣传片制作、LOGO设计等,帮助客户快速提升营销能力和企业形象,创新互联各部门都有经验丰富的经验,可以确保每一个作品的质量和创作周期,同时每年都有很多新员工加入,为我们带来大量新的创意。 

(1)值类型

变量直接包含它们自己的数据

局部变量总是放在栈(stack)中

(2)引用类型

变量间接指向它们的数据

局部变量指向堆(heap)中的对象

枚举(enum) 值类型

结构(struct) 值类型

类(class) 引用类型

接口(interface) 引用类型

数组([ ]array ) 引用类型

委托(delegate) 引用类型

你可能对上面的例子感到奇怪,C#中的内在类如int,double怎么没有。C#规定这些内在类属于结构,C#称之为简单类型。简单类型和用户自定义类型之间的***区别是前者有字面表达式,而后者没有。

当然,还有第三种类型:指针。但指针只用在由unsafe关键字标识的非安全的代码中。

学习C# 枚举2.枚举类型

它是一个用户声明的值类型

 
 
 
  1. enum Suit   
  2. {   
  3.  Clubs, Diamonds, Hearts, Spades   
  4. }  
  5. //Suit表示一副牌,它有4个花色:梅花(Clubs),
  6. //方块(Diamonds),红心(Hearts),//黑桃(Spades)  
  7. sealed class Example   
  8. {   
  9.  static void Main()   
  10.  {   
  11.  ...   
  12.  Suit lead = Spades; //错误  
  13.  ...   
  14.  Suit trumps = Suit.Clubs; //正确  
  15.  ...   
  16.  }   

C# 枚举的声明可以出现在类声明的相同地方。

C# 枚举的声明包括名字、访问权限、内在的类型和枚举的成员。

C# 枚举学习的基础东西就向你介绍到这里,希望通过介绍使你对C# 枚举有所了解和认识。

C# 枚举中声明的常量的范围是定义它们的枚举,换言之,下面的例子是错误的:

 
 
 
  1. Suit trumps = Clubs;  
  2. lubs必须被限制为Suit的一个成员,就如下面:  
  3. Suit trumps = Suit.Clubs; 

学习C# 枚举3.枚举的注意点

C# 枚举值缺省为int

你可以选择任一内在的整数类型

但不能是字符型

 
 
 
  1. enum Suit : int //内在类型是int,可以省略  
  2.  {   
  3.  Clubs,   
  4.  Diamonds,   
  5.  Hearts = 42,   
  6. //成员的取值缺省为前一个成员取值+1,但可以自己赋初值  
  7.  Spades, //***一个分号是可选的  
  8.  };//可以有结尾分号 

C# 枚举类可以显式的声明它的内在类型是sbyte, byte, short, ushort, int, uint, long, ulong。如果一个枚举类没有显式声明它的内在类型,则缺省为int。

成员的取值必须和枚举声明的内在类型相同,并且必须在内在类型的范围之内(例如,你不能让成员的取值为负数,而枚举的内在类型是uint)。

如果成员没有被赋值, 那么它的取值是前一个成员取值+1,***个成员的缺省值是1。枚举的成员的取值可以有相同的取值。

***一个枚举成员可以使用一个结尾分号,这使得你将来可以很方便地加入更多的成员。

学习C# 枚举要注意:枚举成员的访问权限隐含为public。

【编辑推荐】

  1. C# 进度条效果实现实例
  2. C# 枚举简介及优点浅析
  3. C# 枚举实例应用浅析
  4. C# 枚举常用方法浅析
  5. C# 枚举和常量应用区别浅析

本文题目:学习C# 枚举的那点东西
地址分享:http://www.stwzsj.com/qtweb/news5/9555.html

网站建设、网络推广公司-创新互联,是专注品牌与效果的网站制作,网络营销seo公司;服务项目有等

广告

声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联