.Net基础篇_学习笔记_第八天_复杂数据类型(常量/枚举/结构)
1.常量:
声明的常量的语法:
const 变量类型 变量名=值;
最大的特点就是,声明了常量后,就不能再被重新赋值。
2.枚举
语法:
[public] enum 枚举名
{
值1,
值2,
值3,
........
}
public:访问修饰符。公开的公共的,哪都可以访问。
enum:关键字,声明枚举的关键字
枚举名:要符合Pascal命名规范
enum枚举在main()函数中不能使用,所以将枚举声明到命名空间的下面,类的外面,表示这个命名空间下,所有的类都可以使用这个枚举。
枚举就是一个变量类型 ,int--double string decimal.
只是枚举声明、赋值、使用的方式跟那些普通的变量类型不一样。
枚举需要自己写,内部自己编辑。
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks; namespace 第六天_流程语句
{
public enum Moon
{
阴,
晴,
圆,
缺
}
class Program
{
static void Main(string[] args)
{
Moon _moon = Moon.晴;
Console.WriteLine(_moon);
Console.ReadKey(); }
}
}
我们可以将一个枚举类型的变量跟int类型和string类型互相转换。
枚举类型与int类型转换
枚举类型默认从0开始,枚举类型默认依次递增。 region标签的使用。#region 标签名称 #endregion
枚举类型默认是跟int类型相互兼容的,所以可以通过强制类型转换的语法互相转换。
当转换一个枚举中没有的值的时候,不会抛异常,而是直接将数字显示出来。
枚举类型与string类型转换
所有类型都能转换成string类型
枚举同样也可以跟string类型互相转换,如果将枚举类型转换成string类型,则直接调用ToString().
三种转化方式:
Convert.int32(); int.parse();
int.TryParse();
Enum.Parse();//调用Parse()方法的目的就是让它帮助我们将一个字符串转换成对应的枚举类型。调用方法,需要告诉(提供给)方法一些必要的条件,即参数。
如果将字符串转换成枚举类型则需要下面这样一行代码:
(要转换的枚举类型)Enum.Parse(typeof(要转换的枚举类型),"要转换的字符串");
string s="0";
QQState state=(QQState)Enum.Parse(typeof(QQState),s);
如果转换的字符串是数字,则就算枚举中没有,也会不会抛异常。
如果转换的字符串是文本,如果枚举中没有,则会抛出异常。
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks; namespace _Enum
{
class Program
{ enum QQState
{
OnLine=,
OffLine,
Leave,
Busy,
QMe
} static void Main(string[] args)
{
bool b = true;
while (b)
{
Console.WriteLine("请输入您要选择的登陆状态:1--OnLine,2--OffLine,3--Leave,4--Busy,5--QMe");
string _input = Console.ReadLine();
switch (_input)
{
case "":
QQState s1 = (QQState)Enum.Parse(typeof(QQState), _input);
Console.WriteLine("您现在的登陆状态是{0}", s1);
break;
case "":
QQState s2 = (QQState)Enum.Parse(typeof(QQState), _input);
Console.WriteLine("您现在的登陆状态是{0}", s2);
break;
case "":
QQState s3 = (QQState)Enum.Parse(typeof(QQState), _input);
Console.WriteLine("您现在的登陆状态是{0}", s3);
break;
case "":
QQState s4 = (QQState)Enum.Parse(typeof(QQState), _input);
Console.WriteLine("您现在的登陆状态是{0}", s4);
break;
case "":
QQState s5 = (QQState)Enum.Parse(typeof(QQState), _input); //string转换成Enum类型
Console.WriteLine("您现在的登陆状态是{0}", s5);
break;
}
}
Console.ReadKey();
}
}
}
结构
可以一次性生成多个不同类型的变量;
[public] struct 结构名
{
成员;//变量. 》》字段 变量只能存储一个值,字段可以存储多个值; 字段要求必须在前面加个下滑线。
}
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks; namespace 结构
{
public struct Person //结构和枚举本质是类型,需要单独定义一下;
{
public string _name;
public int _age;
public char _gender;
}
class Program
{
static void Main(string[] args)
{
Person liangPerson;
liangPerson._name = "liang";
liangPerson._gender = '男';
liangPerson._age = ;
}
}
}
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks; namespace 结构
{
public struct Person //结构和枚举本质是类型,需要单独定义一下;
{
public string _name;
public int _age;
public Gender _gender;
}
public enum Gender
{
男,
女
}
class Program
{
static void Main(string[] args)
{
Person liangPerson;
liangPerson._name = "梁俊可";
liangPerson._gender = Gender.男;//liangPerson._gender = '男';
liangPerson._age = ;
Console.WriteLine("我叫{0},我的性别是{1},我今年{2}岁了",liangPerson._name,liangPerson._gender,liangPerson._age);
Console.ReadKey();
}
}
}
.Net基础篇_学习笔记_第八天_复杂数据类型(常量/枚举/结构)的更多相关文章
- 【笔记目录2】【jessetalk 】ASP.NET Core快速入门_学习笔记汇总
当前标签: ASP.NET Core快速入门 共2页: 上一页 1 2 任务27:Middleware管道介绍 GASA 2019-02-12 20:07 阅读:15 评论:0 任务26:dotne ...
- Spring学习笔记 1. 尚硅谷_佟刚_Spring_HelloWorld
1,准备工作 (1)安装spring插件 搜索https://spring.io/tools/sts/all就可以下载最新的版本 下载之后不用解压,使用Eclipse进行安装.在菜单栏最右面的Help ...
- 学习笔记_J2EE_SpringMVC_03_注解配置_@RequestMapping用法
@RequestMappingde的用法 摘要: 主要介绍注解@RequestMapping的用法 一.@RequestMapping 简介 在Spring MVC 中使用 @RequestMappi ...
- linux kernel学习笔记-5内存管理_转
void * kmalloc(size_t size, gfp_t gfp_mask); kmalloc()第一个参数是要分配的块的大小,第一个参数为分配标志,用于控制kmalloc()的行为. km ...
- Java学习笔记:03面向对象-接口_多态
1.类的概念 一堆具有共同的成员变量(属性)和成员方法(功能)对象的集合 2.接口的概念 接口是功能的集合,就是方法的集合 接口中只能定义方法,不能定义普通的成员变量 而且接口中的成员方法,必须是抽象 ...
- 《Python编程:从入门到实践》基础知识部分学习笔记整理
简介 此笔记为<Python编程:从入门到实践>中前 11 章的基础知识部分的学习笔记,不包含后面的项目部分. 书籍评价 从系统学习 Python 的角度,不推荐此书,个人更推荐使用< ...
- 第1课_Java基础知识【学习笔记】
摘要:韦东山android视频学习笔记 一.android系统的基本框架如图一所示,应用程序是用java编写的,底层驱动是用C代码写的,java与C怎么连接在一起主要是通过本地服务.android系统 ...
- Python学习笔记 (2.1)标准数据类型之Number(数字)
Python3中,数字分为四种——int,float,bool,complex int(整型) 和数学上的整数表示没啥区别,没有大小限制(多棒啊,不用写整数高精了),可正可负.还可表示16进制,以 0 ...
- Net基础篇_学习笔记_第十天_方法(函数)
方法(函数): 函数就是将一堆代码进行重用的一种机制.//解决冗余代码问题------方法出现了. 面向对象的三大特征:封装.继承.多态 函数的语法:[public] stati ...
- Net基础篇_学习笔记_第九天_数组_冒泡排序(面试常见题目)
冒泡排序: 将一个数组中的元素按照从大到小或从小到大的顺序进行排列. for循环的嵌套---专项课题 int[] nums={9,8,7,6,5,4,3,2,1,0}; 0 1 2 3 4 5 6 7 ...
随机推荐
- PowerShell安装IIS
Windows作web开发的同学,应该都会用到IIS服务器.比如在阿里云或是Azure上购买一台新的服务器,默认是没有安装IIS的(安装的镜像就带有IIS或是MySql的除外).届时需要安装IIS,安 ...
- getpost请求案例
public class MainActivity extends AppCompatActivity { private ListView lv; @Override protected void ...
- java Timer工具类实现定时器任务
第一 schedule 方法 三个参数 按照顺序 (执行的任务方法,开始执行时间,多少时间后循环去执行) 代码可用 public class TestScheedule { public stati ...
- Python3基本数据类型之列表
1.初识列表 列表(List)是Python3中的"容器型"数据类型. 列表通过中括号把一堆数据括起来的方式形成,列表的长度不限. 列表里面的元素可以是不同的数据类型,但是一般是相 ...
- (十三)c#Winform自定义控件-导航菜单
前提 入行已经7,8年了,一直想做一套漂亮点的自定义控件,于是就有了本系列文章. 开源地址:https://gitee.com/kwwwvagaa/net_winform_custom_control ...
- Map集合的遍历.
package collction.map; import java.util.HashMap; import java.util.Iterator; import java.util.Map; im ...
- python+unittest框架第四天unittest之断言(一)
unittest中的测试断言分两天总结,hhh其实内容不多,就是懒~ 断言的作用是什么? 答:设置测试断言以后,能帮助我们判断测试用例执行结果. 我们先看下unittest支持的断言有哪些: 对上面 ...
- TCP与UDP的主要特点
UDP主要特点: (1)UDP是无连接的,即发送数据之前不需要建立连接(当然,发送数据结束时也没有连接可以释放),因此减少了开销和发送数据之前的时延. (2)UDP使用尽最大努力交付,即不保证可靠交付 ...
- 《Head First 设计模式》笔记
第一章 策略模式 00设计原则:找出应用中可能需要变化之处,把它们独立出来,不要和那些不需要变化的代码放在一起. 把会变化的部分取出并封装起来,好让其它部分不会受到影响.结果如何?代码变化引起的不经意 ...
- vue-cli2.X中引入高德地图,将其设为全局对象
平时一般未用脚手架构建或用webpack构建的项目只要用script标签引入即可,在vue-cli 2.X构建的项目中,需要用如下方式引入高德地图: 首先在高德地图开放平台中注册开发者账号并获取key ...