C#学习笔记05--枚举/结构体
访问修饰符 enum 枚举类型名
{
成员1,
成员2,
成员3,
...
}
public enum Days
{
Mon = ,
Tue,
Wed,
Thu,
Fri,
Sat,
Sun
}
- enum: 是枚举的关键字;
- Days 枚举类型名;
- Mon, Tue, Wed,...是枚举成员变量 枚举类型赋值只能是成员变量;
- 枚举的默认值是从0开始的, 可以人为改变 以下个会在上一个的基础上默认加1;
语法格式: 枚举类型 枚举变量名 = 枚举类型.枚举值:
Days date = Days.Sun;
Console.WriteLine(date); // Sun
如果想要得到 成员变量对应的数字 可以进行一个强制类型转换
Console.WriteLine((int)date); //
- 当给枚举变量赋值时, 其值只能通过枚举类型名加点运算符, 从定义的枚举类型后面的{}里面选取, 故枚举类型限制了枚举变量的取值, 因此在编程过程中, 使用枚举类型可以让我们的数据保持统一.
- 系统会给枚举值赋一个默认的int类型的值, 第一个枚举值是0, 后面的枚举值所对应的int 值依次加1; 故枚举类型本质上也是个int类型的值, 可以在int 类型和枚举类型之间进行转换, 转换时需要使用强制类型转换符;
- 字符串转换枚举类型 Days date = (Days)Enum.Parse(typeof(Days), Console.ReadLine());
- 枚举类型成员转换成字符串 string str = Enum.GetName(typeof(Days), date);
- 枚举转换为int类型 int date3 = (int)Days.Sat;
- 整型转换为枚举类型 Days date1 = (Days)Enum.ToObject(typeof(Days), 1); / Days date2 = (Days)1;
访问修饰符 struct 结构体类型名
{
访问修饰符 数据类型 变量名;
访问修饰符 数据类型 变量名;
...
} public enum Gender
{
M,
W
}
public StudentInfo
{
public string name;
public int age;
public Gender sex;
}
- struct 是关键字, 用来定义一个结构体类型;
- struct 后面才是类型名, 类型名的每个单词首字母都要大写;
- 结构体里面每个变量都是结构体类型StudentInfo的一个成员, 简称位成员变量;
- 结构体里面的成员变量只声明, 不赋值, 需要使用结构体变量来给其成员变量赋值;
- 每个成员变量前面暂时使用public 关键字来修饰, public 是访问修饰符, 成员变量前面只有使用public修饰, 才可以在结构体外面被直接调用赋值.
- 使用结构体变量加上点运算符, 点出结构体中 public 修饰的成员, 然后再根据成员的数据类型给成员赋值;
- 结构体变量做为一个整体不能直接参与运算, 需要使用变量包含的某个成员进行运算;
C#学习笔记05--枚举/结构体的更多相关文章
- C#学习笔记_12_枚举&结构体
12_枚举&结构体 枚举 是一种数据类型 适用于某些取值范围有限的数据 语法: [访问权限修饰符] enum 枚举名 { 枚举值 } 枚举名遵循大驼峰命名法 枚举一般情况下是和switch c ...
- Go语言学习笔记十: 结构体
Go语言学习笔记十: 结构体 Go语言的结构体语法和C语言类似.而结构体这个概念就类似高级语言Java中的类. 结构体定义 结构体有两个关键字type和struct,中间夹着一个结构体名称.大括号里面 ...
- matlab学习笔记12_3串联结构体,按属性创建含有元胞数组的结构体,filenames,isfield,isstruct,orderfields
一起来学matlab-matlab学习笔记12 12_3 结构体 串联结构体,按属性创建含有元胞数组的结构体,filenames,isfield,isstruct,orderfields 觉得有用的话 ...
- Swift 学习笔记 (类和结构体)
类和结构体是一种多功能且灵活的构造体.通过使用与现存常量 变量 函数完全相同的语法来在类和结构体中定义属性和方法以添加功能. Swift中不需要你为自定义的类和结构体创建独立的结构和实现文件.在Swi ...
- matlab学习笔记12_2创建结构体数组,访问标量结构体,访问非标量结构体数组的属性,访问嵌套结构体中的数据,访问非标量结构体数组中多个元素的字段
一起来学matlab-matlab学习笔记12 12_2 结构体 创建结构体数组,访问标量结构体,访问非标量结构体数组的属性,访问嵌套结构体中的数据,访问非标量结构体数组中多个元素的字段 觉得有用的话 ...
- APUE学习笔记——4.2结构体 struct stat 及其相关函数介绍
以下不少内容来自man手册 结构体struct stat 结构体struct stat用于保存文件相关的所有信息. struct stat的基本成员如下所示 struc ...
- thinkphp学习笔记1—目录结构和命名规则
原文:thinkphp学习笔记1-目录结构和命名规则 最近开始学习thinkphp,在下不才,很多的问题看不明白所以想拿出来,恕我大胆发在首页上,希望看到的人能为我答疑解惑,这样大家有个互动,学起来快 ...
- CLR_Via_C#学习笔记之枚举
CLR_Via_C#学习笔记之枚举 枚举类型(Enum)定义的一组"符号名称/值"配对:因为枚举类型使用程序更容易编写.阅读和维护,而且它是强类型: 枚举是值类型:由System. ...
- 机器学习实战(Machine Learning in Action)学习笔记————05.Logistic回归
机器学习实战(Machine Learning in Action)学习笔记————05.Logistic回归 关键字:Logistic回归.python.源码解析.测试作者:米仓山下时间:2018- ...
随机推荐
- Nginx专题(1):Nginx之反向代理及配置
摘要:本文从Nginx的概念出发,分别从反向代理的概念.优势.配置代码3个方面介绍了Nginx的特性之一反向代理. 文章来源:宜信技术学院 & 宜信支付结算团队技术分享第一期-宜信支付结算八方 ...
- Topshelf+Quartz在.Net Core框架下的实现
在我们日常开发工作中,经常会运用到Quartz+Topshelf组件的组合来开发一些定时任务.那么在.Net Core下如何去使用呢?我自己尝试搭建了一个测试项目,过程中遇到了以下一些问题: Quar ...
- Excel的IYQ钓鱼
0x00 环境准备 1.操作系统:windows7 2.microsoft office版本:office 2010 0x01 了解IYQ的基本概念 可以将IYQ简单的理解成内置在excel中的一种特 ...
- Flex 和 Bison 使用方法
背景知识 在学编译原理的时候,同时在做南京大学的编译原理课程实验,这里是链接,整个实验的效果是实现一个完整的 C-- 语法的编译器.C-- 语法是他们老师指定的一种类 C 语言. Flex 和 Bis ...
- 前端与算法 leetcode 283. 移动零
目录 # 前端与算法 leetcode 283. 移动零 题目描述 概要 提示 解析 解法一:暴力法 解法二:双指针法 算法 传入[0,1,0,3,12]的运行结果 执行结果 GitHub仓库 # 前 ...
- docker已运行容器添加或修改端口映射
# 不推荐方法:将原来的容器提交成镜像,然后利用新的建立的镜像重新建立一个带有端口映射的容器# 推荐方法:## 查看id 就是 容器的 hash_of_the_container 数值 docker ...
- 使用Typescript重构axios(三)——实现基础功能:处理get请求url参数
0. 系列文章 1.使用Typescript重构axios(一)--写在最前面 2.使用Typescript重构axios(二)--项目起手,跑通流程 3.使用Typescript重构axios(三) ...
- 树上神奇 逆 逆序对(我的叫法)hh的小纸条 重中之重!!!!!
HH是一位十分爱好数学的大佬,尤其喜爱数数,一天百无聊赖的他写下了一个1-N的排列,并且在小纸条上记下了每个数前面有多少个数比他小,但HH不小心忘记了这个排列.现在只有当时记下的小纸条,现在请你还原出 ...
- 考试T1护花
传送门 这题的提议似乎有什么问题,只要约翰选好了要抓那头牛,他就不会吃草了,站在原地傻等? 这题就是贪心,但在用cmp中比较单位时间吃草数量时,要用double型,不然可能会有点一样... 还有就是主 ...
- VIM编辑器的常用命令及使用!
在热门Linux操作系统中都会默认安装一款超好用的文本编辑器——名字叫“vim”,vim是vi编辑器的升级版. Vim能够得到这么多厂商与用户的认可,原因就是在Vim编辑器中有三种模式——命令模式.末 ...