预定义类型值类型 数据类型C#关键字(如 int、short 和 string) 从编译器映射到.NET数据类型。例如,在C#中声明一个int类型的数据时声明的实际是.Net System.Int32的一个实例。 这似乎很深奥,但其意义深远;这表示在语法上,可以把所有基本类型看成支持某些方法的类。例如,要把int i转换为string类型,可以编写为下面代码;

string s = i.ToString();

应该强调的是,这种语法的背后,类型实际上仍存储为基本类型。基本类型在概念上用C#结构表示,所以肯定没有性能丢失。

1.整形

C#支持8种预定义的整数类型

名称 .Net 类型 说明 范围(最小~最大)
sByte System.SByte 8位有符号的整数
-128~127
short System.Int16 16位有符号的整数 -32768~32767
int System.Int32 32位有符号的整数 -2147483648~2147483647
long System.Int64 64位有符号的整数
-9223372036854775808~9223372036854775807
byte System.Byte 8位有符号的整数 0~255
ushort
System.UInt16
16位有符号的整数 0~65535
uint System.UInt32
32位有符号的整数
0~4294967295
ulong
System.UInt64
64位有符号的整数 0~18446744073709551615

2.浮点类型

C#提供支持许多整型数据类型,也支持浮点类型

名称 .Net 类型 说明
位数
范围(最小~最大)
float
System.Single
 32位单精度浮点数 7 -3.40282347E+38F~3.40282347E+38F
double
System.Double
64位双精度浮点数 15/16 -1.7976931348623157E+308~1.7976931348623157E+308
float数据类型用于较小的浮点值,因为它要求的精度较低。double数据类型比float数据类型大,提供的精度也大一倍(15位)。
如果在代码中对某个非整数值编码,则编译器一般假定该变量是double。如果想指定该值为float,可以在其后加上字符F或f。
float f = 12.3F;

3.Decimal类型

decimal类型表示精度更高的浮点数。

名称 .Net 类型 说明 位数 范围(最小~最大)
decimal System.Decimal 128位高精度十进制数表示法 28 -79228162514264337593543950335M~79228162514264337593543950335M

.Net和C#数据类型的一个重要优点是提供了一种专用类型进行财务计算,这就是decimal类型提供28位的方式取决于用户。换言之,可以用较大的精确度(带有美分)来表示较小的美元值,也可以在小数部分用更多的舍入来表示较大的美元值。但应注意,decimal类型不是基本类型,所以在计算时使用该类型会有性能丢失。

  要把数字指定为decimal类型而不是double,float或整数类型,可以在数字的后边加上字符M或m 如:

decimal d = 12.3M;

 4.布尔类型

C#的bool类型用于包含布尔值true或false

名称 .Net 类型 说明 位数 范围(最小~最大)
bool System.Boolean 表示true或false NA true或false

bool值和整数数值不能相互转换。如果变量(或函数的返回类型)声明为bool类型,就只能使用true或false。如果试图使用0表示false,非0值表示true,就会出错。

bool a = false;
bool b = 1>0;

 5.字符类型

为了保存单个字符的值,C#支持char数据类型

名称 .Net 类型
char System.Char 表示一个16位的(Unicode)字符
char类型的字面量是用单引号括起来,如'A'。如果把字符放在双引号中,编译器会把它看成字符串,从而产生错误。
除了把char表示为字符字面量之外,还可以用4位十六位进制的Unicode值、带有强制类型转换的整数值或十六进制数表示它们。
它们还可以用转移序列表示如下。
转义序列 字符
\' 单引号
\" 双引号
\\ 反斜杠
\0
\a
警告
\b 退格
\f 换页
\n 换行
\r 回车
\t
水平制表符
\v 垂直制表符

.Net类型 值类型的更多相关文章

  1. [你必须知道的.NET] 第八回:品味类型---值类型与引用类型(上)-内存有理

    原文地址:http://kb.cnblogs.com/page/42318/ 系列文章导航: [你必须知道的.NET] 开篇有益 [你必须知道的.NET] 第一回:恩怨情仇:is和as [你必须知道的 ...

  2. C#如何更好地理解引用类型和值类型

    说道值类型和引用类型,在C#中,官方的说法就是: 值类型直接指向数据:一般包括C#自带的所有数字类型,字符类型,bool类型,当然还有自定义的结构类型和枚举类型 而引用类型则是指向数据存储的地址.一般 ...

  3. C#基础--值类型和引用类型

    C#中大多数类型都是引用类型,只有个别特殊情况是值类型. 值类型: 枚举(enum) 结构(struct) 基础类型:int, short, char, bool....(string是引用类型) 引 ...

  4. C#学习笔记之值类型与引用类型

    [TOC] C#学习笔记之值类型与引用类型 1.值类型与引用类型 1.1 深层区别 值类型与引用类型有不同的内存分布,这导致了不同的内存管理机制: 值类型由OS负责内存管理 引用类型由垃圾回收器(GC ...

  5. GO值类型与引用类型

    值类型 值类型包括基本数据类型,int,float,bool,string,以及数组和结构体(struct). 值类型变量声明后,不管是否已经赋值,编译器为其分配内存,此时该值存储于栈上. 值类型的默 ...

  6. C#之值类型和引用类型

    本文意在巩固基础知识,并不是对其进行深入剖析,还望理解.本文是对此项知识的整理文,有些内容来源于网络,其他为博主原创,所以难免会有一些小得瑕疵,敬请谅解.所有示例均是博主测试过的,如有转载请标明出处, ...

  7. C# 语法二 值类型引用类型

    1.值类型 2.引用类型 一 值类型 值类型存放在栈中,引用类型存放在堆中. 值类型有:数值.布尔.字符,例如:int i;bool i2;char cr='a'; 二 引用类型 大多数类型是引用类型 ...

  8. c#基础系列1---深入理解值类型和引用类型

    "大菜":源于自己刚踏入猿途混沌拾起,自我感觉不是一般的菜,因而得名"大菜",于自身共勉. 不知不觉已经踏入坑已10余年之多,对于c#多多少少有一点自己的认识, ...

  9. [No0000B9]C# 类型基础 值类型和引用类型 及其 对象复制 浅度复制vs深度复制 深入研究2

    接上[No0000B5]C# 类型基础 值类型和引用类型 及其 对象判等 深入研究1 对象复制 有的时候,创建一个对象可能会非常耗时,比如对象需要从远程数据库中获取数据来填充,又或者创建对象需要读取硬 ...

  10. <NET CLR via c# 第4版>笔记 第5章 基元类型、引用类型和值类型

    5.1 编程语言的基元类型 c#不管在什么操作系统上运行,int始终映射到System.Int32; long始终映射到System.Int64 可以通过checked/unchecked操作符/语句 ...

随机推荐

  1. jenkins拉取github代码报错问题解决

    问题起因: 踩坑踩坑 用jenkins拉取github项目的代码时,配置完成点击构建时,报错信息为:Couldn't find any revision to build. Verify the re ...

  2. 利用sqlmapapi和google-hacking联动自动化sql注入探测

    利用inurl语法搜索+sqlmap梭哈挖到过一点sql注入,这不失为一种好方法. 但是现在的sql注入漏洞的网站是比较少的了,所以这样一个个手工测,不仅效率低,还不一定有什么收获.不妨写一个goog ...

  3. Python数据存储之shelve和dbm

    一.shelve 和 dbm 的介绍 shelve 和 dbm 都是 python 自带的数据库管理模块,可以用于持久化存储和检索 python 中的对象. 虽然这两个模块的本质都是建立 key-va ...

  4. 根据多选下拉框选中的结果,循环输出选中的标签<el-cascader>;对象数组由二维变成一维

    下面的图是要实现的交互图,根据<el-cascader>中v-model绑定的数据,再去下拉框出书数据中进行比对输出 v-model绑定的数据是一个二维数组,是这样的一组数据 [[1,12 ...

  5. 全球最大分类广告商的Karpenter实践:减负运维、减少中断、每月省21万(上)

    原文链接: https://medium.com/adevinta-tech-blog/the-karpenter-effect-redefining-our-kubernetes-operation ...

  6. 【矩阵压缩】codeforces 1980 E. Permutation of Rows and Columns

    题目链接 https://codeforces.com/problemset/problem/1980/E 题意 共输入\(T\)组测试用例,每组测试用例第一行输入两个整数\(n, m\),分别代表输 ...

  7. 数据库开发规范v1.0

    一.建表规约 [强制]表达是与否概念的字段,必须使用 is_xxx 的方式命名,数据类型是 unsigned tinyint( 1 表示是,0 表示否). 说明:任何字段如果为非负数,必须是 unsi ...

  8. 数据湖加速器GooseFS,加速湖上数据分析性能

    数据湖加速器 GooseFS 是由腾讯云推出的高性能.高可用.弹性的分布式缓存方案.依靠对象存储(Cloud Object Storage,COS)作为数据湖存储底座的成本优势,为数据湖生态中的计算应 ...

  9. Flutter 滑动组件互相嵌套问题

    滑动组件互相嵌套问题 如果listview/singlechildscrollview 嵌套gridview,将两个组件的shrinkwrap设置为true,并且gridview无法滚动 physic ...

  10. cs-script:一个非常成熟的C#脚本开源引擎

    推荐一个强大C#脚本引擎,方便我们在项目中,动态执行C#脚本. 01 项目简介 CS-Script是非常成熟的C#脚本引擎,自2004年起就发布了,即.NET发布后的两年. 支持托管和独立(CLI)执 ...