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 ...
随机推荐
- 2019/3/1 IO流的学习总结
Java学习之IO流 学习Io流之前,我们先了解文件,以及在Java中对文件的操作.首先对文件进行操作,就必须用 File F = new File(“d:\\文件名”); 表示该文件或文件夹的地址寻 ...
- hdu 1052 Tian Ji -- The Horse Racing【田忌赛马】
题目 这道题主要是需要考虑到各种情况:先对马的速度进行排序,然后分情况考虑: 1.当田忌最慢的马比国王最慢的马快则赢一局 2.当田忌最快的马比国王最快的马快则赢一局 3.当田忌最快的马比国王最快的马慢 ...
- MVC项目加入WebApi
一.NuGet搜索安装Microsoft.AspNet.WebApi,注意引用的版本依赖,因为是在完整的MVC项目上新增,在本地编译调试并没有报错,发布到IIS后却显示应用程序出错. 二.NuGet搜 ...
- CLion之C++框架篇-优化框架,单元测试(二)
背景 结合上一篇CLion之C++框架篇-安装工具,基础框架的搭建(一),继续进行框架优化! googletest(GTest)是Google开源的C++测试框架,与CLion组合,对C++环 ...
- MySQL优化--INSERT ON DUPLICATE UPDATE死锁
INSERT ON DUPLICATE UPDATE与死锁 在MySQL中提供两种插入更新的方式:REPLACE INTO和INSERT ON DUPLICATE UPDATE,简化了“存在则更新,不 ...
- Python自动化编程-树莓派的介绍与使用(一)
Raspberry Pi(中文名为“树莓派”,简写为RPi,(或者RasPi / RPI) [1] 是为学习计算机编程教育而设计),只有信用卡大小的微型电脑,其系统基于Linux. 随着Windo ...
- Python 爬虫修养-处理动态网页
Python 爬虫修养-处理动态网页 本文转自:i春秋社区 0x01 前言 在进行爬虫开发的过程中,我们会遇到很多的棘手的问题,当然对于普通的问题比如 UA 等修改的问题,我们并不在讨论范围,既然要将 ...
- 从零开始单排学设计模式「装饰模式」黑铁 I
阅读本文大概需要 3.6 分钟. 本篇是设计模式系列的第四篇,虽然之前也写过相应的文章,但是因为种种原因后来断掉了,而且发现之前写的内容也很渣,不够系统. 所以现在打算重写,加上距离现在也有一段时间了 ...
- Pycharm永久激活方式
1.首先下载pycharm破解包 http://idea.lanyus.com/ 2. 将下载的文件放入PyCharm安装bin目录下: 3.在pycharm.exe.vmoptions ,pycha ...
- 项目文件与 SVN 资源库同步提示错误 Attempted to lock an already-locked dir
问题描述 之前为了图方便,在eclipse中直接把三个jsp文件复制到了eclipse中我新建的一个文件夹中,把svn版本号信息也带过来了,然后我又删除了这三个jsp文件,接着先把这三个jsp复制到桌 ...