枚举类型是什么意思 枚举是什么意思?

c\u8bed\u8a00\u4e2d\u7684\u679a\u4e3e\u578b\u4ec0\u4e48\u610f\u601d

\u679a\u4e3e\u578b\u662f\u56db\u79cd\u57fa\u672c\u6570\u636e\u7c7b\u578b\u4e4b\u4e00\u3002\u5e38\u91cf\u3001\u5b57\u7b26\u578b\u3001\u5e03\u5c14\u578b\u53ef\u4ee5\u7528\u6765\u8868\u8fbe\u6570\uff0c\u5b57\u7b26\uff0c\u771f\u5047\u7684\u63cf\u8ff0\u3002
\u679a\u4e3e\u7c7b\u578b\u5728C#\u6216C++,java,VB\u7b49\u4e00\u4e9b\u8ba1\u7b97\u673a\u7f16\u7a0b\u8bed\u8a00\u4e2d\u662f\u4e00\u79cd\u57fa\u672c\u6570\u636e\u7c7b\u578b\u800c\u4e0d\u662f\u6784\u9020\u6570\u636e\u7c7b\u578b\uff0c\u800c\u5728C\u8bed\u8a00\u7b49\u8ba1\u7b97\u673a\u7f16\u7a0b\u8bed\u8a00\u4e2d\u662f\u4e00\u79cd\u6784\u9020\u6570\u636e\u7c7b\u578b\u3002\u5b83\u7528\u4e8e\u58f0\u660e\u4e00\u7ec4\u547d\u540d\u7684\u5e38\u6570\uff0c\u5f53\u4e00\u4e2a\u53d8\u91cf\u6709\u51e0\u79cd\u53ef\u80fd\u7684\u53d6\u503c\u65f6\uff0c\u53ef\u4ee5\u5c06\u5b83\u5b9a\u4e49\u4e3a\u679a\u4e3e\u7c7b\u578b\u3002
\u679a\u4e3e\u53ef\u4ee5\u6839\u636eInteger\u3001Long\u3001Short\u6216Byte\u4e2d\u7684\u4efb\u610f\u4e00\u79cd\u6570\u636e\u7c7b\u578b\u6765\u521b\u5efa\u4e00\u79cd\u65b0\u578b\u53d8\u91cf\u3002\u8fd9\u79cd\u53d8\u91cf\u80fd\u8bbe\u7f6e\u4e3a\u5df2\u7ecf\u5b9a\u4e49\u7684\u4e00\u7ec4\u4e4b\u4e2d\u7684\u4e00\u4e2a\uff0c\u6709\u6548\u5730\u9632\u6b62\u7528\u6237\u63d0\u4f9b\u65e0\u6548\u503c\u3002\u8be5\u53d8\u91cf\u53ef\u4f7f\u4ee3\u7801\u66f4\u52a0\u6e05\u6670\uff0c\u56e0\u4e3a\u5b83\u53ef\u4ee5\u63cf\u8ff0\u7279\u5b9a\u7684\u503c\u3002

\u6269\u5c55\u8d44\u6599
\u6ce8\u610f\u4e8b\u9879\uff1a
1\u3001\u8d4b\u503c\u8fd0\u7b97 COLOR\uff1a=RED \uff1b\u6ce8\u610f\u7c7b\u578b\u4e00\u81f4\u4e0d\u80fd\u51fa\u754c\uff1b
2\u3001\u5173\u7cfb\u8fd0\u7b97 IF
3\u3001\u8f93\u5165 \u679a\u4e3e\u53d8\u91cf\u7684\u503c\u53ea\u80fd\u7528\u8d4b\u503c\u8bed\u53e5\u83b7\u5f97\uff0c\u4e0d\u8981\u7528READ\u8bed\u53e5\uff1b
4\u3001\u8f93\u51fa \u4e0d\u80fd\u76f4\u63a5\u7528WRITE\u8bed\u53e5\u76f4\u63a5\u8f93\u51fa\u679a\u4e3e\u5143\u7d20\uff0c\u7cfb\u7edf\u4f1a\u8ba4\u4e3a\u5b83\u662f\u4e00\u4e2a
5\u3001\u672a\u5b9a\u4e49\u7684\u53d8\u91cf\u540d\uff1b\u5fc5\u987b\u8d4b\u7ed9\u4e00\u4e2a\u679a\u4e3e\u53d8\u91cf\uff0c\u7136\u540e\u8f93\u51fa\u7ed9\u53d8\u91cf\u7684\u503c\uff1b
\u53c2\u8003\u8d44\u6599\u6765\u6e90\uff1a\u767e\u5ea6\u767e\u79d1-\u679a\u4e3e


  枚举类型在C#或C++,java,VB等一些计算机编程语言中是一种基本数据类型而不是构造数据类型,而在C语言等计算机编程语言中是一种构造数据类型 。它用于声明一组命名的常数,当一个变量有几种可能的取值时,可以将它定义为枚举类型。
  枚举可以根据Integer、Long、Short或Byte中的任意一种数据类型来创建一种新型变量。这种变量能设置为已经定义的一组之中的一个,有效地防止用户提供无效值。该变量可使代码更加清晰,因为它可以描述特定的值。

  概念

  在C#或C++,java等一些计算机编程语言中,枚举类型是一种基本数据类型而不是构造数据类型,而在C语言等计算机编程语言中,它是一种构造数据类型。枚举类型用于声明一组命名的常数,当一个变量有几种可能的取值时,可以将它定义为枚举类型。
  定义:是指将变量的值一一列出来,变量的值只限于列举出来的值的范围内.
  使用格式:枚举类型放在窗体模块、标准模块或共用模块中的声明部分,通过enum语句来定义。
  .格式:[public|private] enum name
  membername[=constantexpression]
  membername[=constantexpression]
  (maomi)
  …..
  End enum
  public:表示该枚举类型在整个工程中都是可见的(缺省的)
  private:表示枚举类型只在所声明的模块中是可见的。Name: 枚举类型的名称。必须是一个合法的VB标识符,在定义该枚举类型的变量或参数时用该名称来指定类型.
  Membername:指定该枚举类型的组成元素名称.
  Constantexpression:枚举类型的组成元素的值.如果没有指定具体值,则所有赋的值或者是0或者比其直接前驱的值大1.元素的值也可以是别的enum类型.VB中将枚举中的元素的值按长整数处理.如果将一个浮点数值赋给一个枚举中的元素,VB会将该值取整为最接近的长整数.



定义:
所谓枚举类型,就是用一组数量有限的标识符来表示一组连续的整型常数,使能够更清晰的表示出现实世界
例子:type
dayofweek=(sun,mon,tue,wed,thu,fri,sat);
以后你用到dayofweek类型的数据,其值是却只能是上面括号里列出的其中一个,比如是sun,mon等等,,枚举的意思就是把值一一列出

C语言或C++的一种构造类型,它用于声明一组命名的常数。
(1)枚举的声明:枚举声明用于声明新的枚举类型。
访问修辞符 enum 枚举名:基础类型
{
枚举成员
}
基础类型必须能够表示该枚举中定义的所有枚举数值。枚举声明可以显式地声明 byte、sbyte、short、ushort、int、uint、long 或 ulong 类型作为对应的基础类型。没有显式地声明基础类型的枚举声明意味着所对应的基础类型是 int。
(2)枚举成员
枚举成员是该枚举类型的命名常数。任意两个枚举成员不能具有相同的名称。每个枚举成员均具有相关联的常数值。此值的类型就是枚举的基础类型。每个枚举成员的常数值必须在该枚举的基础类型的范围之内。
示例:
public enum TimeofDay:uint
{
Morning=-3,
Afternoon=-2,
Evening=-1
}
产生编译时错误,原因是常数值 -1、-2 和 –3 不在基础整型 uint 的范围内。
(3)枚举成员默认值
在枚举类型中声明的第一个枚举成员它的默值为零。
以后的枚举成员值是将前一个枚举成员(按照文本顺序)的值加 1 得到的。这样增加后的值必须在该基础类型可表示的值的范围内;否则,会出现编译时错误。
示例:
public enum TimeofDay:uint
{
Morning,
Afternoon,
Evening
}
Morning的值为0,Afternoon的值为1,Evening的值为2。
(4)为枚举成员显示赋值
允许多个枚举成员有相同的值.
没有显示赋值的枚举成员的值,总是前一个枚举成员的值+1.
示例
public enum Number
{
a=1,
b,
c=1,
d
}
b的值为2,d的值为2.
注意:以上枚举值都不能超过它的基础类型范围。否则会报错.
(5)枚举类型与基础类型的转换
基础类型不能隐式转换为枚举类型
枚举类型也不能隐式转换为基础类型
示例:
public enum Number
{
a,
b,
c,
d
}
class Test
{
public static void Main()
{
int i=Number.a;//错误,要强制类型转换(int)Number.a
Number n;
n=2 //错误,要强制类型转换(Number)2
}
}
(6)System.Enum类型
System.Enum 类型是所有枚举类型的抽象基类,并且从 System.Enum 继承的成员在任何枚举类型中都可用。
System.Enum 本身不是枚举类型。相反,它是一个类类型,所有枚举类型都是从它派生的。
System.Enum 从类型 System.ValueType派生
(7)使用枚举类型
using System;
public enum TimeofDay
{
Morning,
Afternoon,
Evening
}
class Test
{
static void WriteGreeting(TimeofDay timeofDay)
{
switch(timeofDay)
{
case TimeofDay.Morning:
Console.WriteLine("good morning");
break;
case TimeofDay.Afternoon:
Console.WriteLine("good afternoon");
break;
case TimeofDay.Evening:
Console.WriteLine("good evening");
break;
}
}
static void Main()
{
WriteGreeting(TimeofDay.Morning);
WriteGreeting(TimeofDay.Evening);
WriteGreeting(TimeofDay.Afternoon);
}
}

一般的定义方式如下:
enum enum_type_name
{
ENUM_CONST_1,
ENUM_CONST_2,
...
ENUM_CONST_n
} enum_variable_name;
注意:enum_type_name 是自定义的一种数据数据类型名,而enum_variable_name 为
enum_type_name类型的一个变量,也就是我们平时常说的枚举变量。实际上enum_type_name
类型是对一个变量取值范围的限定,而花括号内是它的取值范围,即enum_type_name 类型
的变量enum_variable_name 只能取值为花括号内的任何一个值,如果赋给该类型变量的值
不在列表中,则会报错或者警告。ENUM_CONST_1、ENUM_CONST_2、...、
ENUM_CONST_n,这些成员都是常量,也就是我们平时所说的枚举常量(常量一般用大写)。
enum 变量类型还可以给其中的常量符号赋值,如果不赋值则会从被赋初值的那个常量开始
依次加1,如果都没有赋值,它们的值从0 开始依次递增1。
下面举个例子:如分别用一个常数表示不同颜

enum Color
{
GREEN = 1,
RED,
BLUE,
GREEN_RED = 10,
GREEN_BLUE
}ColorVal;
其中各常量名代表的数值分别为:
GREEN = 1
RED = 2
BLUE = 3
GREEN_RED = 10
GREEN_BLUE = 11
内容应该说的差不多了。

  • 鏋氫妇绫诲瀷鏄粈涔堟剰鎬
    绛旓細鍦–#鎴朇++,java绛変竴浜涜绠楁満缂栫▼璇█涓紝鏋氫妇绫诲瀷鏄竴绉嶅熀鏈暟鎹被鍨嬭屼笉鏄瀯閫犳暟鎹被鍨嬶紝鑰屽湪C璇█绛夎绠楁満缂栫▼璇█涓紝瀹冩槸涓绉嶆瀯閫犳暟鎹被鍨銆傛灇涓剧被鍨嬬敤浜庡0鏄庝竴缁勫懡鍚嶇殑甯告暟锛屽綋涓涓彉閲忔湁鍑犵鍙兘鐨勫彇鍊兼椂锛屽彲浠ュ皢瀹冨畾涔変负鏋氫妇绫诲瀷銆傚畾涔夛細鏄寚灏嗗彉閲忕殑鍊间竴涓鍒楀嚭鏉,鍙橀噺鐨勫煎彧闄愪簬鍒椾妇鍑烘潵鐨勫肩殑鑼...
  • 璁$畻鏈篊璇█涓殑鍏抽敭瀛:enum鏄粈涔堟剰鎬?
    绛旓細搴旇璇存槑鐨勬槸锛鏋氫妇绫诲瀷鏄竴绉嶅熀鏈暟鎹被鍨锛岃屼笉鏄竴绉嶆瀯閫犵被鍨嬶紝鍥犱负瀹冧笉鑳藉啀鍒嗚В涓轰换浣曞熀鏈被鍨嬨傚湪瀹為檯搴旂敤涓紝鏈夌殑鍙橀噺鍙湁鍑犵鍙兘鍙栧笺傚浜虹殑鎬у埆鍙湁涓ょ鍙兘鍙栧硷紝鏄熸湡鍙湁涓冪鍙兘鍙栧笺傚湪 C 璇█涓杩欐牱鍙栧兼瘮杈冪壒娈婄殑鍙橀噺鍙互瀹氫箟涓烘灇涓剧被鍨嬨傛墍璋撴灇涓炬槸鎸囧皢鍙橀噺鐨勫间竴涓鍒椾妇鍑烘潵锛屽彉閲忓彧闄...
  • 鏋氫妇鏄粈涔
    绛旓細鏋氫妇绠鍗曠殑璇翠篃鏄竴绉嶆暟鎹被鍨,鍙笉杩囨槸杩欑鏁版嵁绫诲瀷鍙寘鍚嚜瀹氫箟鐨勭壒瀹氭暟鎹,瀹冩槸涓缁勬湁鍏卞悓鐗规х殑鏁版嵁鐨 *** 銆備妇涓緥瀛,棰滆壊涔熷彲浠ュ畾涔夋垚鏋氫妇绫诲瀷,瀹冨彲浠ュ寘鍚綘瀹氫箟鐨勪换浣曢鑹,褰撻渶涓佺殑鏃跺,鍙渶瑕侀氳繃鏋氫妇璋冪敤鍗冲彲,鍙﹀姣斿璇村鑺(鏄ュ绉嬪啲)銆佹槦鏈(鏄熸湡涓鍒版槦鏈熸棩)绛夌瓑杩欎簺鍏锋湁鍏卞悓鎶曠壒寰佺殑鏁版嵁閮藉彲浠ュ畾涔夋灇涓俱
  • c璇█enum鏄粈涔堟剰鎬
    绛旓細c璇█enum鎰忔濇槸鏋氫妇绫诲瀷锛灞炰簬c璇█涓殑涓绉嶆暟鎹被鍨銆傚湪鈥滄灇涓锯濈被鍨嬬殑瀹氫箟涓垪涓惧嚭鎵鏈夊彲鑳界殑鍙栧硷紝琚鏄庝负璇モ滄灇涓锯濈被鍨嬬殑鍙橀噺鍙栧间笉鑳借秴杩囧畾涔夌殑鑼冨洿銆傛灇涓剧被鍨嬫槸涓绉嶅熀鏈暟鎹被鍨嬶紝鑰屼笉鏄竴绉嶆瀯閫犵被鍨嬶紝鍥犱负瀹冧笉鑳藉啀鍒嗚В涓轰换浣曞熀鏈被鍨嬨
  • C璇█鏋氫妇绫诲瀷鏄粈涔堟剰鎬?
    绛旓細鏋氫妇绫诲瀷C璇█鎴朇++鐨勪竴绉嶆瀯閫犵被鍨嬶紝瀹冪敤浜庡0鏄庝竴缁勫懡鍚嶇殑甯告暟銆 \x0d\x0a(1)鏋氫妇鐨勫0鏄:鏋氫妇澹版槑鐢ㄤ簬澹版槑鏂扮殑鏋氫妇绫诲瀷銆 \x0d\x0a璁块棶淇緸绗 enum 鏋氫妇鍚:鍩虹绫诲瀷 \x0d\x0a{ \x0d\x0a鏋氫妇鎴愬憳 \x0d\x0a} ;\x0d\x0a鍩虹绫诲瀷蹇呴』鑳藉琛ㄧず璇ユ灇涓句腑瀹氫箟鐨勬墍鏈夋灇涓炬暟鍊笺傛灇涓惧0鏄...
  • enum鍦╦ava涓鏄粈涔堟剰鎬
    绛旓細绫诲瀷鏃犳寚鎰忔 鐢变簬棰滆壊鏋氫妇鍊间粎浠呮槸涓浜涙棤浠讳綍鍚箟鐨勬暣鏁板,濡傛灉鍦ㄨ繍琛屾湡璋冭瘯鏃跺,浣犲氨浼氬彂鐜版棩蹇椾腑鏈夊緢澶氶瓟鏈暟瀛,浣嗛櫎浜嗙▼搴忓憳鏈韩,鍏朵粬浜哄緢闅炬槑鐧藉叾濂ョ銆 濡備綍瀹氫箟 Enum 绫诲瀷 涓轰簡鏀硅繘 Java 璇█鍦ㄨ繖鏂归潰鐨勪笉瓒冲讥琛ョ己闄,5.0 鐗堟湰 SDK 鍙戝竷鏃跺,鍦ㄨ瑷灞傞潰涓婂鍔犱簡鏋氫妇绫诲瀷銆傛灇涓剧被鍨嬬殑瀹氫箟涔熼潪甯哥殑绠鍗,鐢 enum...
  • enum鍦╟璇█涓鏄粈涔堟剰鎬?
    绛旓細enum鏄绠楁満缂栫▼璇█涓殑涓绉嶆暟鎹被鍨嬨傛灇涓剧被鍨嬶細鍦ㄥ疄闄呴棶棰樹腑锛鏈変簺鍙橀噺鐨勫彇鍊艰闄愬畾鍦ㄤ竴涓湁闄愮殑鑼冨洿鍐銆侰璇█鎻愪緵浜嗕竴绉嶇О涓衡滄灇涓锯濈殑绫诲瀷銆傚湪鈥滄灇涓锯濈被鍨嬬殑瀹氫箟涓垪涓惧嚭鎵鏈夊彲鑳界殑鍙栧硷紝琚鏄庝负璇モ滄灇涓锯濈被鍨嬬殑鍙橀噺鍙栧间笉鑳借秴杩囧畾涔夌殑鑼冨洿銆備緥濡傦紝涓涓槦鏈熷唴鍙湁涓冨ぉ锛屼竴骞村彧鏈夊崄浜屼釜鏈堬紝涓涓...
  • 璁$畻鏈,鏋氫妇鏄粈涔堟剰鎬姹傝瑙
    绛旓細鏋氫妇鏄涓绉嶆暟鎹绫诲瀷锛岀畝鍗曟潵璇村氨鏄竴绉嶅彧鏈夋湁闄愪釜鏈夋晥鍊肩殑闆嗗悎銆備緥濡備綘绾﹀畾涓绉嶅悕鍙滃昂瀵糕濈殑闆嗗悎涓紝鍙厑璁稿寘鍚珄寰堝皬銆佸皬銆佷腑绛夈佸ぇ銆佸緢澶杩欏嚑绉嶆寚瀹氬硷紝閭d箞濡傛灉浣犱紒鍥惧涓涓滃昂瀵糕濈被鍨嬬殑鍙橀噺璧嬩釜鈥滃姞鍔犲ぇ鈥濇垨鑰呪滄鑹测濆氨閮芥槸閿欒鐨勬搷浣溿傛灇涓鹃潪甯搁傚悎瀵规湁闄愰泦鍚堣繘琛岀鐞嗗拰闃查敊鈥斺斿綋鐒讹紝鍓嶆彁...
  • python 鏋氫妇绫诲瀷浠涔堟剰鎬
    绛旓細鏋氫妇绫诲瀷鍙互鐪嬩綔鏄竴绉嶆爣绛炬垨鏄竴绯诲垪甯搁噺鐨勯泦鍚堬紝閫氬父鐢ㄤ簬琛ㄧず鏌愪簺鐗瑰畾鐨勬湁闄愰泦鍚堬紝渚嬪鏄熸湡銆佹湀浠姐佺姸鎬佺瓑銆侾ython 鐨勫師鐢熺被鍨嬶紙Built-in types锛夐噷骞舵病鏈変笓闂ㄧ殑鏋氫妇绫诲瀷锛屼絾鏄垜浠彲浠ラ氳繃寰堝鏂规硶鏉ュ疄鐜板畠锛屼緥濡傚瓧鍏搞佺被绛夛細WEEKDAY = { 'MON': 1,'TUS': 2,'WEN': 3,'THU': 4,'FRI': 5...
  • enum鍦╟璇█涓鏄粈涔堟剰鎬?
    绛旓細enum鍦╟璇█涓槸鏋氫妇绫诲瀷鐨鎰忔锛屾灇涓剧被鍨嬬殑瀹氫箟褰㈠紡涓篹num typeName銆俲ava浣跨敤enum瀹氫箟甯搁噺绫诲瀷锛屽父閲忔湰韬甫鏈夌被鍨嬩俊鎭紝鍙互浣跨敤==姣旇緝銆俥num瀹氫箟鐨绫诲瀷鏄class锛岀户鎵胯嚜java.lang.Enum锛屾墍鏈夊父閲忛兘鏄敮涓寮曠敤瀹炰緥锛屽父閲忓彲鐢ㄤ簬switch璇彞銆俷ame()鑾峰彇甯搁噺瀹氫箟鐨勫瓧绗︿覆锛屾敞鎰忎笉瑕佷娇鐢╰oString()锛宱rdinal()杩斿洖...
  • 扩展阅读:c#枚举类型enum用法 ... java枚举类型enum常用吗 ... 什么叫枚举 ... c语言enum用法 ... c#枚举类型 ... 什么叫枚举值 ... 小学数学枚举法 ... 枚举项是什么意思 ... 枚举类型是什么数据类型 ...

    本站交流只代表网友个人观点,与本站立场无关
    欢迎反馈与建议,请联系电邮
    2024© 车视网