15-01-03 C# 语法 06

声明一个常量类型      const 变量类型 变量名 = 值;

常量最大的特点就是不能够被重新赋值;

枚举语法: [public] enum 枚举名

{

值1,

值2,

值3,

......

}

public:访问修饰符。公开的公共的,哪都可以访问

enum:关键字,声明枚举的关键字;

枚举名:要符合Pascal命名规范;

不要在Main函数里面声明枚举;声明枚举最好在命名空间的下面,类的上面。表示这个命名空间下,所有的类都可以使用这个枚举

枚举就是一个简单的变量类型,跟int,double,string,char,decimal,bool是一样的。只是枚举类型声明,赋值,使用上和它们不一样,但本质上一样,都是用来存数据

public enum Gender

{

男,

}

int    n      = 10;

Gender gender = Gender.男;     一样的格式

public enum QQState

{

OLine,

OffLine,

Leave,

Busy,

QMe

}

枚举类型默认跟int类型可以互相强制转换,枚举类型跟int类型是兼容的;当转换一个枚举中没有的值得时候,不会抛异常,而是直接将数字显示出来

1.将枚举类型转换为int类型

QQState state = QQState.OnLine;

int n = (int)state;               n=0,说明枚举类型默认是从0开始的;

2.将int类型转换为枚举类型

int n1 = 3;

QQState state = (QQState)n1;      state值为busy;

所有的类型都可以转换成string类型,调用ToString()去转;

3.将枚举类型转换为string类型

QQState state = QQState.OnLine;

string s  = state.ToString();     s的值为OnLine;

4.将string类型转换为枚举类型 为什么没有Convert.ToEnum();因为枚举类型的类型不固定,是我们自己写的, 但是有Enum.Parse();

string s = "0";//string s ="OnLine"也可以; string s = "8";会直接输出8; string s = "ABCD";会报异常

QQState state = (QQState)Enum.Parse(typeof(QQState),s);

结构可以帮助我们一次性声明多个不同类型的变量;

结构语法:

[public] struct 结构名

{

成员名;//字段

}

结构名用Pascal命名规范;

结构跟枚举一样也是写在命名空间下面,类的上面,表示在哪都可以用得到;

public struct Person

{

string name;

int age;

char gender;

}

这样写表示这3个变量只能在结构里面访问,出了这个结构就访问不到了,

因此改成

public struct Person

{

public string _name;

public int _age;

public char _gender;

}

int也是一种结构,结构和枚举本质都是变量类型;

Person zsPerson;

zsPerson.name = "张三";

zsPerson.age = 21;

zsPerson.gender = ‘男‘;

结构中的变量不叫变量,叫字段;

变量面前不允许加访问修饰符;字段面前可以加访问修饰符;

变量和字段都是用来存储数据; 变量和字段最本质的区别,在程序运行的时候,变量只能存一个值,但是字段能存很多值;

自我小结,字段和方法是平级的,变量是在方法里面的;因此变量面前不允许加访问修饰符;字段面前可以加访问修饰符

在给字段取名字的时候,规范上都应该在名字前加_

枚举类型面前是两个黄色的小方块

时间: 2024-11-08 23:29:16

15-01-03 C# 语法 06的相关文章

Bentley.STAAD.RCDC.V8i.04.01.01.03 1CD

1.Bentley Multiframe Advanced V8i SS3 17.00.02.10 Win32_64 1CDBentley Multiframe Advanced V8i SS3 17.00.02.10 Win32_64 1CD Multiframe的分析和设计工具给你一个非常强大和灵活的创建.分析和研究结果的结构的手段.Multiframe唯一的一款功能之间使用VBA自动化的结构分析程序.使用自动化,你可... 2.Bentley Utilities Designer V8i

【01】markdown语法

[02]段落和换行 一个 Markdown 段落是由一个或多个连续的文本行组成,它的前后要有一个以上的空行(空行的定义是显示上看起来像是空的,便会被视为空行.比方说,若某一行只包含空格和制表符,则该行也会被视为空行).普通段落不该用空格或制表符来缩进. 「由一个或多个连续的文本行组成」这句话其实暗示了 Markdown 允许段落内的强迫换行(插入换行符),这个特性和其他大部分的 text-to-HTML 格式不一样(包括 Movable Type 的「Convert Line Breaks」选项

海涛师兄指的路--指点汇总--各种装逼利器---15.01.27

14.11.10--科学楼226 C primer plus 代码敲两边许英杰老师 ---------------------------- www.gfsoso.com谷粉搜搜正点原子.安富莱(bbs.armfly.com) 资料: 别人的教程:原子的.野火的 user manual(中文用户手册) datasheet -----------------------------------1.stm32启动---->搞懂时钟(1)2.流水灯(1)3.串口.(1)4.stm32+emwin+uc

01.01教程简介01.02软件的基本工作界面01.03模型设计的一般过程

xue.taoao.com 我的学习记录 01.01教程简介 --- 01.02软件的基本工作界面 - 任务窗口 拖拽到实例中 - 底部显示单位 - 确定当前环境 - 放大缩小 - 鼠标旋转缩放移动 --- 01.03模型设计的一般过程 ----- 原有凸台基础上    插入一个凸台 进入草图环境  选择原有凸台的一个面为基准面   空格  正视于    画一个圆形 - 智能尺寸-标注并且同时设置尺寸 - - 拉伸切 和凸台一样     拉伸切除-选择基准面进入草图   正视于  画圆  给定深

编译技术图式(第四章 语法分析)01文法和语法的定义

编译技术图式(第四章 语法分析)01文法和语法的定义 1.基本概念 1)词法规则: 哪些字符串合法或者不合法 字母表:语言允许使用字符的集合 词汇:由字符组成的有限串(字符串) 标识符:函数名,变量名等 2)语法规则: 句子:一个“词汇序列” 确定句子在形式上是否合法 提供句子的结构: if ( 表达式 ) 语句 else 语句 3)语法的表示: (1)自然语言描述 (2)形式化描述(BNF) (3)转换图(语法图) 2.形式化描述 终结符.非终结符.产生式 1)定义 2)产生式的表示    

【Linux】一步一步学Linux——VMware Workstation 15 Pro安装图解教程(06)

目录 00. 目录 01. VMware Workstation Pro15下载 02. VMware Workstation Pro15安装 03. VMware Workstation Pro 15序列号 04. 附录 00. 目录 @ 01. VMware Workstation Pro15下载 VMware Workstation Pro15下载 02. VMware Workstation Pro15安装 第一步: 运行安装程序,点下一步 第二步: 接收许可协议,点击下一步 第三步:选

2017"百度之星"程序设计大赛 - 初赛(A) 01,05,06

小C的倍数问题 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Problem Description 根据小学数学的知识,我们知道一个正整数x是3的倍数的条件是x每一位加起来的和是3的倍数.反之,如果一个数每一位加起来是3的倍数,则这个数肯定是3的倍数. 现在给定进制P,求有多少个B满足P进制下,一个正整数是B的倍数的充分必要条件是每一位加起来的和是B的倍数. Input 第一行一

MySQL技术探索01实现SQL语法解析器

本文将介绍如何使用开源的语法和词法分析框架bison和flex来实现SQL解析器.出于技术学习的目的,本文做描述的微型SQL解析器仅能实现对微型SQL的语法解析. 1.MySQL中的SQL解析器 包括JDBC.ODBC.ADO等等关系数据库客户端应用开发框架在内的各种SDK,核心功能是帮助程序员简化各种客户端的数据库操作,同时将SQL语句通过网络形式发送给MySQL等关系数据库的服务器进程.MySQL服务器进行负责解析并执行这些SQL语句.SQL语句中的语法规则多种多样,MySQL服务器是如何实

Vuejs --03 模板语法

一.插值 1.文本 <span>{{msg}}</span> //mustache语法 <span v-once>{{msg}}</span> //一次性插值,当数据改变时,不会响应式更新 2.纯HTML     你的站点上动态渲染的任意 HTML 可能会非常危险,因为它很容易导致 XSS 攻击.请只对可信内容使用 HTML 插值,绝不要对用户提供的内容插值. <div v-html="rawHtml"></div>