枚举类型中的元素都具有一个整型值(c#枚举类型 为什么枚举类型对一个整数)
本文目录
c#枚举类型 为什么枚举类型对一个整数
当然我们用的时候可以只管名称,不管值,用起来没什么区别,设定一个整数值给我们增加了一种表示的选择,而且在实际的需求中大多数的枚举都是和数字相关(比如星期),因此可以通过数字来反射回枚举名称(具体方法我就不说了)。还有一点有很多场合不是用单个枚举,而是用若干枚举的组合,比如说 Monday和Tuesday,在C#里面就可以表示成Monday|Tuesday,如果你后面不用数字的话,这样表示就没有了意义,而如果你的枚举值规定为2,4,8,16...这样的数字,则Monday|Tuesday就成了另外一个数字,可以从这个数字反推回组合,messagebox的一些参数就是这样实现的。
枚举对象全部都是int型的吗
在默认情况下枚举类型都是int型的。但是可以再定义枚举型时制定特定的类型例如:enum weekday:long{sun,mon,tue,wed,thu,fri,sat};这样枚举类型就是long型了不过不能可以指定任意的的类型符,它可以是:long、ulong、int、uint、short、ushort、byte、sbyte中的一种
c++枚举类型在输出的时候是不是只能输出所代表的整数啊
是的。 枚举类型是不能直接输入、输出枚举值的,每个枚举常量都对应一个整数值,在输入时,需要输入枚举值对应的整数值,所以需要使用(int&)进行类型转换。 枚举变量可以直接输出,但不能直接输入。如:cout 》》 color3; //非法不能直接将常量赋给枚举变量。如: color1=1; //非法不同类型的枚举变量之间不能相互赋值。如: color1=color3; //非法枚举变量的输入输出一般都采用switch语句将其转换为字符或字符串;枚举类型数据的其他处理也往往应用switch语句,以保证程序的合法性和可读性。
c语言题目
在程序设计中,有时会用到由若干个有限数据元素组成的集合,如一周内的星期一到星期日七个数据元素组成的集合,由三种颜色红、黄、绿组成的集合,一个工作班组内十个职工组成的集合等等,程序中某个变量取值仅限于集合中的元素。此时,可将这些数据集合定义为枚举类型。因此,枚举类型是某类数据可能取值的集合,如一周内星期可能取值的集合为: { Sun,Mon,Tue,Wed,Thu,Fri,Sat} 该集合可定义为描述星期的枚举类型,该枚举类型共有七个元素,因而用枚举类型定义的枚举变量只能取集合中的某一元素值。由于枚举类型是导出数据类型,因此,必须先定义枚举类型,然后再用枚举类型定义枚举型变量。enum 《枚举类型名》 { 《枚举元素表》 }; 其中:关键词enum表示定义的是枚举类型,枚举类型名由标识符组成,而枚举元素表由枚举元素或枚举常量组成。例如: enum weekdays { Sun,Mon,Tue,Wed,Thu,Fri,Sat }; 定义了一个名为 weekdays的枚举类型,它包含七个元素:Sun、Mon、Tue、Wed、Thu、Fri、Sat。在编译器编译程序时,给枚举类型中的每一个元素指定一个整型常量值(也称为序号值)。若枚举类型定义中没有指定元素的整型常量值,则整型常量值从0开始依次递增,因此,weekdays枚举类型的七个元素Sun、Mon、Tue、Wed、Thu、Fri、Sat对应的整型常量值分别为0、1、2、3、4、5、6。 注意:在定义枚举类型时,也可指定元素对应的整型常量值。例如,描述逻辑值集合{TRUE、FALSE}的枚举类型boolean可定义如下: enum boolean { TRUE=1 ,FALSE=0 }; 该定义规定:TRUE的值为1,而FALSE的值为0。 而描述颜色集合{red,blue,green,black,white,yellow}的枚举类型colors可定义如下: enum colors {red=5,blue=1,green,black,white,yellow}; 该定义规定red为5 ,blue为1,其后元素值从2 开始递增加1。green、black、white、yellow的值依次为2、3、4、5。此时,整数5将用于表示二种颜色red与yellow。通常两个不同元素取相同的整数值是没有意义的。 枚举类型的定义只是定义了一个新的数据类型,只有用枚举类型定义枚举变量才能使用这种数据类型。
更多文章:

dine out(go out of dinner和eat out的区别)
2025年2月9日 00:40

楼兰小说论坛(打不开楼兰小说论坛的网页啊!一点击就出现“Hi,真不巧,网页走丢了”,这是怎么回事难道被了)
2025年3月5日 13:10

ldap auth error(ldap auth error 什么玩意)
2025年2月14日 01:40

struts框架和spring的区别(struts和springmvc的区别)
2025年2月16日 05:10

receiver是什么设备(esl emi test receiver是什么设备)
2025年3月25日 20:20

tablelayout(VB.NET中如何向TableLayoutPanel控件指定行和列写数据)
2025年3月24日 16:30

discouraged是什么意思(discouraged worker是什么意思)
2025年3月11日 06:50

ubuntu 3d(ubuntu 10.10如何把桌面设置成3D模式)
2025年3月12日 10:30

SQL Server中的开窗函数是什么?sparksql 开窗函数怎么用
2025年3月12日 05:40

underneath翻译(欲求Adam Lambert 的新歌 《underneath》歌词,翻译)
2025年3月16日 00:20