C#基础知识-数据类型(一)
俗话说温故而知新,学习一门知识最好的方法就是不断的去咀嚼回味,学习编程更是如此。对于.NET平台中的C#语言而言,有着强大的类库、不断的在更新迭代几乎每隔一年都会更新一个新的模块,.NET Framwork也从1.0版本到现在最新的4.6的版本,从封闭性到近两年的开源,面对一个庞大的编程语言平台我们也要不断的去更新自己的知识结构。从这篇文章开始,让我们从一个初学者的身份去一步步的学习C#这门语言。
首先让我们来思考一下,什么是数据?数据能用来干什么?数据怎么来用?
数据其实很真实的存在我们的世界里,比如你的名字、你的性别、你的某一样物品的名字、甚至你的某种行为都可以转换成是一种数据,数据就是从这些基础上抽象从来的。有了不同的数据类型,我们才可以在计算机中更好的存储我们的数据,让数据分门别类,充分合理的利用我们的存储空间。在我们C#编程中使用的数据类型都是内置在.Net Framwork中。
C#中有15个预定义的类型,当然随着需求的增加也可以自定义,共有两大类 值类型和引用类型,引用类型有Object 和 String ,值类型又分为 整型:sbyte、short、long、int、byte、ushort、uint、ulong, 浮点类型:float 、double, 布尔类型:bool,字符类型:char, decimal类型。
1.值类型
1.1整型:
|
类型 |
名称 |
命名空间 |
说明 |
范围 |
|
整型 |
sbyte |
System.Sbyte |
8位有符号整数 |
-128 ~ 127 |
|
short |
System.Int16 |
16位有符号整数 |
-32768 ~ 32767 |
|
|
int |
System.Int32 |
32位有符号整数 |
-2147483648~ 2147483647 |
|
|
long |
System.Int64 |
64位有符号整数 |
-263 ~ 263-1 |
|
|
byte |
System.Byte |
8位无符号整数 |
0 ~ 255 |
|
|
ushort |
System.UInt16 |
16位无符号整数 |
0 ~ 216-1 |
|
|
uint |
System.UInt32 |
32位无符号整数 |
0 ~ 232-1 |
|
|
ulong |
System.UInt64 |
64位无符号整数 |
0 ~ 264-1 |
整型,顾名思义整数型及非小数。
那么什么是无符号的整数,什么是有符号的整数?
学习过计算机原理的应该就会明白,对于一个8位二进制的机器编码来说,有符号代表的是负数,无符号代表的是整数 例如0111 1111就是无符号的整数,1111 1111就是有符号的整数,第一位就是符号位。
1.2布尔型:
|
类型 |
名称 |
命名空间 |
说明 |
范围 |
|
布尔型 |
bool |
System.Boolean |
表示true或false |
true或false |
布尔类型一般用作逻辑判断,true为真、false为假。
1.3浮点类型:
|
类型 |
名称 |
命名空间 |
说明 |
范围 |
|
单精度浮点类型 |
float |
System.Single |
32位单精度浮点型 |
-3.4 * 1038至3.4 * 1038 |
|
双精度浮点型 |
double |
System.Double |
64位双精度浮点型 |
-1.79769e+308至1.79769e+308 |
float类型因为精度较低,用于较小的浮点数。
double类型提供的精度比float类型大一倍。
声明一个小数如:1.31,未指定类型则默认为Double型,float类型需要添加一个f 如1.31F。
1.4 decimal类型:
|
类型 |
名称 |
命名空间 |
说明 |
范围 |
|
布尔型 |
decima |
System.Decimal |
128位高精度十进制数表示法 |
±1.0 * 10e-28至±7.9*10e28 |
decimal类型用于比较精确的数学计算,比如财务计算,如果指定decima类型,需要在数字后面上M,如:1.31M
1.5字符类型
|
类型 |
名称 |
命名空间 |
说明 |
|
字符类型 |
char |
System.Char |
表示一个16为位的(Unicode)字符 |
声明一个char类型的变量时需要用单括号括起来,如’A’
如果字符是用双括号括起来 “A”则认为是字符串(string)变量
2.引用类型
object 和 string
|
类型 |
名称 |
命名空间 |
说明 |
|
Object类型 |
object |
System.Char |
所有类型的基类 |
|
字符串类型 |
string |
System.String |
字符串 |
object为所有类型的一个基类,所有的类型都隐式的从object中派生。
对于string可能会有点疑惑为什么string是一个引用类型,而不是值类型呢?因为string类型是一个不可变的类型,将会在后面的章节会讲到。
C#基础知识-数据类型(一)的更多相关文章
- C语言基础知识-数据类型
C语言基础知识-数据类型 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.常量与变量 1>.关键字 C的关键字共有32个. >.数据类型关键字(12个) char,s ...
- java基础知识-数据类型及转换
1.java中的常量大体分为两种: <1>字面量常量 <2>自定义常量 2.java中常量(字面量)的分类:<1>,整数常量:直接出现的整数<2>,小数 ...
- 006PHP基础知识——数据类型(三)
<?php /** * 数据类型(三) * PHP是一个弱类型的语言 */ //检测数据类型:gettype() 返回字符串的数据类型 /*$str="美丽中国"; echo ...
- 004PHP基础知识——数据类型(一)
<?php /* * 数据类型(一) * 标量类型:整型(int) 浮点型(float) 字符串型(string) 布尔型(boolean) * 复合类型:数组(array) 对象(object ...
- SQL Server 基础知识/数据类型/数值类型
数据库设计简单地来讲,也就是设计表格的过程. 表格存储的数据是可以理解为一个二维表,由行和列组成. 原则上来讲,一个数据库只需要一个字段,一个数据类型就可以解决所有的问题,但是这样做并不明智,所以一般 ...
- Java基础知识(数据类型和集合)
一.数据类型 包装类型 包装类型是对基本数据类型不足之处的补充. 基本数据类型的传递方式是值传递,而包装类型是引用传递,同时提供了很多数据类型间转换的方法. Java1.5 以后可以自动装箱和拆箱 二 ...
- java基础知识--数据类型
计算机时识别不了我们编写的代码语言,计算机中的数据全部采用二进制表示,即0和1表示的数字,每一个0或者1就是一个位,一个位叫做一个bit(比特).(实际上计算机只能识别高低电平,而不是0和1.) 字节 ...
- c++基础知识-数据类型
1.每次新建项都可需写内容 #include <iostream> using namespace std; int main() //main函数有且只有一个 { system(&quo ...
- SQL基础知识----数据类型
VARCHAR(VERiable CHARacter):可变动字符.用于保存以文本格式处处的信息,最大可以储存255个字符.一般使用为VAECHAR(10) --表示最多可以存储10个字符 INT ...
随机推荐
- yii2.0自带email
大部分框架都有自带的email邮件发送类,yii的邮件发送也很简单,代码如下: 修改配置文件,普通版在(config/web.php).高级版默认配置在/common/config/main-loca ...
- Angular2之管道学习笔记
管道.可以把一个输出流与另一个输入流连接起来.类似 linux.gulp都有应用. 在Angular2中使用管道非常方便.Angular2中本身提供了一些内置管道.当然也可以自定义管道. 文档链接:h ...
- windows系统解决github.com访问超时
当github无法访问时,可以尝试在hosts文件中添加下面的内容 windows:c:\windows\system32\drivers\etc 192.30.252.131 https://git ...
- Grunt usemin
yeoman/grunt-usemin 用来将 HTML 文件中(或者 templates/views)中没有优化的 script 和 stylesheets 替换为优化过的版本. usemin 暴露 ...
- maven修改远程和本地仓库地址
简介:我们用maven的时候,maven自带的远程中央仓库经常会很慢,还有默认本地仓库是在c盘C:\Users\你的电脑用户账号\.m2\repository, 对于有强迫症的人,总是看的不爽,下面介 ...
- Mac端SVN工具CornerStone详解
俗话说:"工欲善其事必先利其器": 对于我们程序员来说,不管你是大神,还是小鱼小虾,进入公司之后,都用过源码管理工具,不然你就不是一个合格的程序员,现在各个公司用于源码管理工具通常 ...
- js精确计算
官方文档:http://mikemcl.github.io/big.js/ 使用方法: x = new Big(0.1); y = x.plus(0.2); // '0.3' var a=Big(0. ...
- Mycat中的核心概念
Mycat中的核心概念 Mycat中的核心概念 1.数据库中间件 Mycat 是一个开源的分布式数据库系统,但是由于真正的数据库需要存储引擎,而 Mycat 并没有 存储引擎,所以并 ...
- 浓缩的才是精华:浅析GIF格式图片的存储和压缩
成文迪, 在Web前端摸爬滚打的码农一枚,对技术充满热情的菜鸟,致力为手Q的建设添砖加瓦. GIF格式的历史 GIF(Graphics Interchange Format)原义是"图像互换 ...
- 3.Maven坐标和依赖
1.1 何为Maven坐标 正如之前所说的,Maven的一大功能就是管理项目依赖.为了能自动化地解析任何一个Java构件,Maven就必须将它们唯一标识,这就依赖管理的底层基础——坐标. 1.2 坐标 ...