C#基础知识总结(五)
摘要
其他的数据类型:常量、枚举(enum)、结构(struct)、数组
一、常量
语法:const 类型 变量名 = 变量值
常量称之为值不可变的变量!
在定义的地方赋值,其他的地方不能赋值。
常量变量名一般大写
二、枚举
让我们定义一种枚举类型并且在定义这种类型时我们要指定这个类型的所有值
语法:
enum 枚举名称
{
值1,
值2,
值3,
…
}
例:
enum Gender
{
male,
famale
}
PS:枚举的定义一般和类定义在同一个级别,在同一个命名空间下的所有类就都可以使用这个枚举了(方法和类中也可以定义)
枚举的作用:
1.限制用户不能随意赋值,只能在定义枚举时列举的值中选择
2.不需要死记每一个值是什么,只需要选择相应的值
注:枚举类型ToString(),直接是枚举值样子
默认情况,枚举值可以转换成int类型,枚举值是从0开始的的整数
字符串转枚举:
(枚举名称)Enum.Parse(typeof(枚举名称),"待转字符串");
三、结构(一种数据类型,枚举也是一种数据类型)
1.结构
//定义了一个名称叫Person的结构
public struct Person
{
//这个结构的成员
public string name;
public string sex;
public int age;
}
2.语法:
访问修饰符 struct 结构名
{
//定义结构成员
}
3.使用结构:
声明好一个变量,通过 变量名.成员名 来访问结构的成员
//声明一个Person结构
Person personZhang;
personZhang.name = "张";
Person personLi = new Person();
personLi.name = "李";
四、计算机存储单位
计算机能处理的最小单位是Byte(B),表示一个字节
1Byte(B)(字节) = 8bit(b)(位)
1KB = 1024Byte(B)
1M = 1024KB
1GB = 1024M
bps 是网络带宽单位(bit per second)
举例平时的宽带10Mb(注意是小写的b),所以下载速度理论上最大值为10/8 MB/s
五、数组
解释:可以帮我们一次声明多个同类型的变量。这些变量在内存中是连续存储的。
语法:数据类型[] 数组名 = new 数据类型[数组长度];
例:int[] score = new int[5];
上面是例子就是,声明了一个长度为5的int数组。
数组声明并直接赋值的方式:
int[] numbers = {1,2,5};
上面声明了一个长度为3的int数组,并且给数组每个元素赋了初始值。
还可以为:
int[] numbers = new int[3]{1,2,5};
int[] numbers = new int[]{1,2,5};
不可以是:int[] numbers = new int[5]{1,2,5};
注:数值类型的默认值为0
字符类型的默认值为null
时间类型的初始值为0001/01/01
C#基础知识总结(五)的更多相关文章
- IM开发基础知识补课(五):通俗易懂,正确理解并用好MQ消息队列
1.引言 消息是互联网信息的一种表现形式,是人利用计算机进行信息传递的有效载体,比如即时通讯网坛友最熟悉的即时通讯消息就是其具体的表现形式之一. 消息从发送者到接收者的典型传递方式有两种: 1)一种我 ...
- Python基础知识(五)
# -*- coding: utf-8 -*-# @Time : 2018-12-25 19:31# @Author : 三斤春药# @Email : zhou_wanchun@qq.com# @Fi ...
- 菜鸟脱壳之脱壳的基础知识(五)——利用内存断点寻找OEP
经过第一节的基础知识,我们都知道了,加壳程序首先解把原来压缩的代码解压,然后放到所对应的区块中,当外壳程序执行完毕后,跳回到OEP执行,我们都知道,OEP是放在代码段中,也就是当外壳程序处理完毕后,跳 ...
- Java JDBC的基础知识(五)
本文主要记录JDBC基础知识之后的部分内容.另外,我看到<Java核心基础2>中第四章是主要介绍数据库编程的.里面有一些说明和应用特别灵活,有些部分也太容易理解,建议大家看一下.这篇是依然 ...
- Android学习之基础知识十五 — 最佳UI体验(Material Design实战)
一.前言 长久以来,大多数人都认为Android系统的UI并不美观,至少没有iOS系统的美观.以至于很多IT公司在进行应用界面设计的时候,为了保证双平台的统一性,强制要求Android端的界面风格必须 ...
- web前端基础知识-(五)jQuery
通过之前的学习我们已经了解了html.css.javascript的相关知识:本次我们就共同学习进阶知识:jQuery~ 一.什么是jQuery? jQuery其实就是一个轻量级的javascript ...
- java基础知识(五)java类
类是java的核心和本质,是java语言的基础. 一.java中的类 1.类class 一个类可以包含局部变量.实例变量.类变量(静态变量) 一个类至少有一个构造方法,如果没有,系统会默认给出一个无参 ...
- EF基础知识小记五(一对多、多对多处理)
本文主要讲EF一对多关系和多对多关系的建立 一.模型设计器 1.一对多关系 右键设计器新增关联 导航属性和外键属性可修改 2.多对多关系 右键设计器新增关联 模型设计完毕之后,根据右键设计器根据模型生 ...
- java反射基础知识(五)反射应用实践
详解Java反射各种应用 Java除了给我们提供在编译期得到类的各种信息之外,还通过反射让我们可以在运行期间得到类的各种信息.通过反射获取类的信息,得到类的信息之后,就可以获取以下相关内容: Cl ...
随机推荐
- 学习Python第四天
关于剩下的数据类型:字符串 字符串是有序的,不可变的(不可变的意思是指将变量a重新赋值后不会覆盖原来的值,而是在内存中开辟了一块新的内存地址,存储变量的值) 字符串的各种方法: 1,将字符串中的大写变 ...
- 服务器windows2008系统登录报错:由于远程桌面服务当前正忙,因此无法完成您尝试的任务。请在...
1.问题描述:windows server 2008服务器通过远程桌面登录时很慢,登录不进去,把远程桌面关掉后,再用远程桌面登录时,出现下图提示. 把服务器接上显示器键盘鼠标后,卡在系统登录的欢迎界面 ...
- zookeeper原理与安装
Zookeeper是一个开源的分布式的,为分布式应用提供协调服务的Apache项目. 1. Zookerper工作机制 2. Zookeeper工作特点 3. Zookeeper文件系统: ...
- CENTOS7常用的基础命令集合(一)
目录(?)[-] CentOS7 常用命令集合 常用命令 文件与目录操作 查看文件内容 文本内容处理 查询操作 压缩解压 yum安装器 网络相关 系统相关 系统服务启动相关 防火墙相关 RPM包管理 ...
- 搭建vue环境
1. 下载安装nodejs 截至2018-06-05 最新稳定版本为 8.11.2,直接 next ,不改目录. PS C:\Users\Administrator> node -v v8.11 ...
- 一次 Java 内存泄漏的排查
由来 前些日子小组内安排值班,轮流看顾我们的服务,主要做一些报警邮件处理.Bug 排查.运营 issue 处理的事.工作日还好,无论干什么都要上班的,若是轮到周末,那这一天算是毁了. 不知道是公司网络 ...
- UglifyJs打包压缩问题引起的思考
问题背景 最近做了一个webapp项目,qa用手机测试功能时,在iphone6plus上表现是白屏,其他手机目测是ok的:因为之前在测试其他项目时也发现在这个iphone6上表现与其他手机不太一样.于 ...
- 阿里技术分享:阿里自研金融级数据库OceanBase的艰辛成长之路
本文原始内容由作者“阳振坤”整理发布于OceanBase技术公众号. 1.引言 OceanBase 是蚂蚁金服自研的分布式数据库,在其 9 年的发展历程里,从艰难上线到找不到业务场景濒临解散,最后在双 ...
- FFmpeg命令行工具学习(二):播放媒体文件的工具ffplay
一.简述 ffplay是以FFmpeg框架为基础,外加渲染音视频的库libSDL构建的媒体文件播放器. 在使用ffplay之前必须要安装到系统中,MAC的安装教程为:http://www.cnblog ...
- FFmpeg开发实战(二):FFmpeg 文件操作
FFmpeg 提供了丰富的API供我们使用,下面我们来讲述一下文件操作相关的API: FFmpeg 删除文件:avpriv_io_delete() FFmpeg 重命名文件:avpriv_io_mov ...