理解C#系列 / 核心C# / 枚举

枚举

如果没有枚举

//1代表s号;2代表m号;3代表l号;4代表XL号;5代表XXL号
int 尺号=0;
if(尺号==2){
    //快递发M号的衣服
}

有了枚举之后

声明枚举(请原谅我使用了中文汉字)

public enum 尺号
{
    未知,
    S,
    M,
    L,
    XL,
    XXL
}

使用枚举

尺号 ch = 尺号.M;
if(ch==尺号.M)
{
    //快递发M号的衣服
}

如果没有注释又没有枚举,那么除了开发者谁知道0或者1、2、3代表什么,对吧。

枚举

枚举是用户定义的整数类型。如果在声明的时候不指定整数,那么整数默认从0开始,从小到大依次为0,1,2,3……

枚举原理

因为.NET框架的执行方式的原因,枚举相当于结构,一旦编译好,枚举就成为了基本类型,与int和float类似,可以使用枚举定义一个变量,要对该变量赋值,只能使用该枚举其中一个预定义的枚举值。

获得枚举的文字说明使用 : 枚举名称.其中一个枚举.ToString()  或是  枚举变量.ToString()

获得枚举对应的整数使用 : (int)枚举名称.其中一个枚举  或是  (int)枚举变量

把一个字符串转变成枚举 : (枚举名称) Enum.Parse(typeof(枚举名称), “描述枚举值的字符串”, true)。[true表示忽略大小写]

时间: 2024-10-14 11:38:35

理解C#系列 / 核心C# / 枚举的相关文章

理解C#系列 / 核心C# / 数据类型

数据类型 数据类型 C#把数据类型分为两种:值类型和引用类型. 值类型和引用类型 值类型的变量直接指向存储的值,引用类型的变量指向值的引用.[理解:引用就像一个柜子的号码牌,可以顺藤摸瓜找到柜子.假如你再次对一个值类型的变量赋值,那么就会改变值,假如你再次对一个引用类型的变量赋值,那么就只是换了一个号码牌,指向了其他的柜子,对前一个柜子是不做修改的.] 这两种类型的数据存储在内存的不同地方,值类型数据存储在堆栈中,而引用类型的数据(值的引用)存储在托管堆上. 在使用的时候的区别 int i=20

理解C#系列 / 核心C# / 常量

常量 常量? 我对常量的理解就是在初始化完成后再也不变的“全局变量”. 定义常量 [const][空格][变量类型][空格][变量名称][=][值][:] const表示定义的是常量. 常量特点 常量必须在声明时初始化.指定了值后,就不能再改写.赋值了. 不能借用变量对常量初始化.如果要这么做,应该使用只读字段. 常量总是静态的,不必且不允许标明static. 使用场景 用于定义软件运行期间一直不会变的“变量”,且该“变量”在所有代码区域都可以访问. 见过修改配置,需要重新打开的软件或游戏没有,

理解C#系列 / 核心C# / 判断&循环&跳转

判断&循环&跳转 说明 本节写的是C#语言的控制程序流的语句,“控制程序流”就是控制程序运行流程的意思. 判断 很容易理解:如果……就…… if语句:测试特定条件是否满足,如果满足就执行某些代码,如果不满足就执行else中的代码. int i=0; if(i==0) { i=1; } else { i=0; } 程序很简单,建立整数变量,初始化为0,经过一个判断{如果满足条件: i 等于 0,那么对 i 赋值 1,若不满足条件,即 i 不等于0 时,对 i 赋值 0}.(x==y),两个等

理解C#系列 / 核心C# / 名称空间

名称空间namespace 名称空间 名称空间用来逻辑分类,而不是物理上的,名称空间与程序集无关[程序集:经由编译器编译得到的文件],同一个程序集中可以有2不同的名称空间,也可以在不同的程序集中定义同一个名称空间中的类型. 业内习惯 空间名称可以嵌套,业内习惯如此定义:[公司名称].[项目名称].[分类名称] using语句 使用using开头,可以在代码中省略命名空间 与Java的import作用相似 但是不要和C/C++的#include混淆 using还可以指定别名,如果命名空间字符串太长

理解C#系列 / 核心C# / 编译参数

编译参数 编译控制台应用程序 csc 源文件.cs 编译Windows应用程序 csc /t:winexe 源文件.cs 编译类库应用程序 csc /t:libray 源文件.cs 编译引用类库的应用程序 csc 源文件.cs /r 类库文件.dll

理解C#系列 / 核心C# / 变量

变量 变量? 变量是对一个东西指定一个名称,变量的功能和人的名字差不多,提到名字就知道指的是什么. 变量类型? 变量类型说明了变量的类型,声明变量是一个整数,还是小数,还是字符,或是图像,或是人类,或是什么. 定义变量 [变量类型][空格][变量名称][;] 赋值 [变量名称][=][值][;] 变量第一次被赋值叫做变量初始化. 变量在使用前必须被赋值,就是必须指向一个目标,不能只有名字,而不知道名字代表什么. 定义变量的同时进行赋值 [变量类型][空格][变量名称][=][值][;] 相同变量

深入理解JavaScript系列(10):JavaScript核心(晋级高手必读篇)

本篇是ECMA-262-3 in detail系列的一个概述(本人后续会翻译整理这些文章到本系列(第11-19章).每个章节都有一个更详细的内容链接,你可以继续读一下每个章节对应的详细内容链接进行更深入的了解. 适合的读者:有经验的开发员,专业前端人员. 原作者: Dmitry A. Soshnikov 发布时间: 2010-09-02 原文:http://dmitrysoshnikov.com/ecmascript/javascript-the-core/ 参考1:http://ued.ctr

深入理解JavaScript系列(1):编写高质量JavaScript代码的基本要点(转)

才华横溢的Stoyan Stefanov,在他写的由O’Reilly初版的新书<JavaScript Patterns>(JavaScript模式)中,我想要是为我们的读者贡献其摘要,那会是件很美妙的事情.具体一点就是编写高质量JavaScript的一些要素,例如避免全局变量,使用单变量声明,在循环中预缓存length(长度),遵循代码阅读,以及更多. 此摘要也包括一些与代码不太相关的习惯,但对整体代码的创建息息相关,包括撰写API文档.执行同行评审以及运行JSLint.这些习惯和最佳做法可以

深入理解JavaScript系列 --汤姆大叔

深入理解JavaScript系列文章,包括了原创,翻译,转载,整理等各类型文章,如果对你有用,请推荐支持一把,给大叔写作的动力. 深入理解JavaScript系列(1):编写高质量JavaScript代码的基本要点 深入理解JavaScript系列(2):揭秘命名函数表达式 深入理解JavaScript系列(3):全面解析Module模式 深入理解JavaScript系列(4):立即调用的函数表达式 深入理解JavaScript系列(5):强大的原型和原型链 深入理解JavaScript系列(6