基础篇--(1)数据类型
从今天开始,我将每天发布一篇C#入门的文章,每篇文章的代码下载地址我将发布在文章的最后。
零、环境
- 数据库:SQL Server 2012
- IDE:VS2019 (读者使用其他版本的VS也可以,但是建议版本不能低于2015)
- .NET Version:4.5
注:后面所有的文正都将是用上面的环境
正文开始 C# 的数据类型分为三大类:值类型、引用类型 和 指针类型,下面我们分别对这三个类型进行讲解。
一、值类型
值类型包括 简单类型、集合类型 和 结构类型。所有用值类型定义的变量(变量我们将在后面讲到)都默认声明了一个公共的无参构造函数(函数也将在后面讲解),这个构造函数会返回一个C#给定的初始值,这个实例被称为默认值。所有的值类型都是从 System.ValueType 中派生出来的。
- 简单类型 简单类型包括: 整型 、 浮点型 、小数型 、 布尔型 和 字符型 ,具体取值关键字和取值范围如下表:
- 整型:
类型 |
描述 |
范围 |
默认值 |
---|---|---|---|
sbyte |
8位有符号整数 |
-128 ~ 127 |
0 |
byte |
8位无符号整数 |
0 ~ 255 |
0 |
short |
16位有符号整数 |
-32768 ~ 32767 |
0 |
ushort |
16位无符号整数 |
0 ~ 65535 |
0 |
int |
32位有符号整数 |
-2147483648 ~ 2147483648 |
0 |
uint |
32位无符号整数 |
0 ~ 4294967295 |
0 |
long |
64位有符号整数 |
-9223372036854775808 ~ 9223372036854775808 |
0 |
ulong |
64位无符号整数类型 |
0 ~ 18446744073709551615 |
0 |
char |
16位unicode字符 |
U +0000 ~ U +ffff |
‘ ’ |
- 浮点型:
类型 |
描述 |
范围 |
默认值 |
---|---|---|---|
float |
32位单精度浮点型 |
−3.4x1038-3.4x10^38−3.4x1038 ~ 3.4x10383.4x10^383.4x1038 |
0.0F |
double |
64位双精度浮点型 |
(+/−)5.0x10−324(+/-)5.0x10^-324(+/−)5.0x10−324 ~ (+/−)1.7x10308(+/-)1.7x10^308(+/−)1.7x10308 |
0.0D |
~
0.0F double 64位双精度浮点型
~
0.0D
注:float 精确到小数点后7位,double 精确到小数点后16位
- 小数类型:
类型 |
描述 |
范围 |
默认值 |
---|---|---|---|
decimal |
128位精确的十进制值,28-29有效位数 |
(−7.9x1028(-7.9x10^28(−7.9x1028 ~ 7.9x10287.9x10^287.9x1028) / 100 2810^0~28100 28 |
0.0M |
~
) /
0.0M
- 布尔型:
类型 |
描述 |
范围 |
默认值 |
---|---|---|---|
ool |
布尔值 |
True 或者 False |
False |
- 结构类型 结构类型主要是用于创建节省内存的对象,结构类型的关键字是 struct,例如创建一个图书标签
struct Book
{
public float Price;
public string BookName;
public string Author
}
二、指针类型
指针类型变量存储另一种类型的内存地址。指针类型在实际开发中用的较少,所以我们只需了解他的语法即可:
类型* 变量名称
注:集合类型因为涉及到后面要讲的东西,因此在这里先不讲.同样,引用类型也涉及到后面所讲的东西,因此这了也不讲解。
- python 对矩阵进行复制操作 np.repeat 与 np.tile区别
- python标准异常:中英文对比
- 激活windows10转到电脑设置的水印消失3种方法总结
- Android 运行时权限及APP适配
- python如何保存矩阵,保存matrix,保存numpy.ndarray
- SDP(12): MongoDB-Engine - Streaming
- .NET Core开源API网关 – Ocelot中文文档
- Selenium的使用方法简介
- 爬虫代理哪家强?十大付费代理详细对比评测出炉!
- HTML5中类jQuery选择器querySelector的使用
- Ceph 集群整体迁移方案
- CSS3矩阵变换
- 可直接运行
- Ryu:网络时延探测应用
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法