.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 ...
随机推荐
- python random 模块及验证码功能
random模块 import random random.random() random.randint(1,3) # 1-3的整数包括3 import random print(random.ra ...
- LK的NOIP膜拟赛
T1 Learn to 签到 [题目描述] 希希最喜欢二进制了.希希最喜欢的运算是\(\wedge\). 希希还喜欢很多\(01\)序列.这些序列一共有\(n\)个,每个的长度为\(m\). 希希有一 ...
- HelloDjango 第 08 篇:开发博客文章详情页
作者:HelloGitHub-追梦人物 文中涉及的示例代码,已同步更新到 HelloGitHub-Team 仓库 首页展示的是所有文章的列表,当用户看到感兴趣的文章时,他点击文章的标题或者继续阅读的按 ...
- python匿名函数的介绍及用途
匿名函数 用lambda能够创建一个匿名函数,这中函数得名于省略了用def声明函数的标准步骤. 语法 lambda [arg1 [,arg2,.....argn]]:expression 如何使用 我 ...
- Java虚拟机日志与参数
虚拟机日志 打印GC日志可以使用参数-XX:+PrintGC /** * -Xmx10m -Xms10m -XX:PretenureSizeThreshold=10485760 * -XX:+Prin ...
- 程序员的专属微信公众号编辑器:定制 Markdown 转 HTML
效果(Gif) 点击我查看 仓库地址 https://github.com/cdk8s/cdk8s-markdown-to-html https://gitee.com/cdk8s/cdk8s-mar ...
- Mongodb最基础入门教程
Mongodb最基础入门教程 如果想了解一下redis的入门教程,可以去看一下我的上一篇博客 Mongodb的安装大家可以参考一下其他博主的博客,这里我就不做介绍了.不过值得注意的是,在Linux ...
- NN入门,手把手教你用Numpy手撕NN(一)
前言 这是一篇包含极少数学推导的NN入门文章 大概从今年4月份起就想着学一学NN,但是无奈平时时间不多,而且空闲时间都拿去做比赛或是看动漫去了,所以一拖再拖,直到这8月份才正式开始NN的学习. 这篇文 ...
- Leetcode之二分法专题-441. 排列硬币(Arranging Coins)
Leetcode之二分法专题-441. 排列硬币(Arranging Coins) 你总共有 n 枚硬币,你需要将它们摆成一个阶梯形状,第 k 行就必须正好有 k 枚硬币. 给定一个数字 n,找出可形 ...
- C#使用iTextSharp给PDF文件加水印
给PDF添加水印,可以用iTextSharp. 步骤1:下载iTextSharp 步骤2:在项目中添加引用itextsharp.dll 步骤3:在程序中使用iTextSharp.text.pdf us ...