.Net类型 值类型
预定义类型值类型 数据类型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位有符号的整数 |
|
| short | System.Int16 | 16位有符号的整数 | -32768~32767 |
| int | System.Int32 | 32位有符号的整数 | -2147483648~2147483647 |
| long | System.Int64 | 64位有符号的整数 |
|
| byte | System.Byte | 8位有符号的整数 | 0~255 |
| ushort |
|
16位有符号的整数 | 0~65535 |
| uint | System.UInt32 |
|
0~4294967295 |
| ulong |
|
64位有符号的整数 | 0~18446744073709551615 |
2.浮点类型
C#提供支持许多整型数据类型,也支持浮点类型
| 名称 | .Net 类型 | 说明 |
|
范围(最小~最大) |
| float |
|
32位单精度浮点数 | 7 | -3.40282347E+38F~3.40282347E+38F |
| double |
|
64位双精度浮点数 | 15/16 | -1.7976931348623157E+308~1.7976931348623157E+308 |
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)字符 |
| 转义序列 | 字符 |
| \' | 单引号 |
| \" | 双引号 |
| \\ | 反斜杠 |
| \0 | 空 |
| \a |
|
| \b | 退格 |
| \f | 换页 |
| \n | 换行 |
| \r | 回车 |
| \t |
|
| \v | 垂直制表符 |
.Net类型 值类型的更多相关文章
- [你必须知道的.NET] 第八回:品味类型---值类型与引用类型(上)-内存有理
原文地址:http://kb.cnblogs.com/page/42318/ 系列文章导航: [你必须知道的.NET] 开篇有益 [你必须知道的.NET] 第一回:恩怨情仇:is和as [你必须知道的 ...
- C#如何更好地理解引用类型和值类型
说道值类型和引用类型,在C#中,官方的说法就是: 值类型直接指向数据:一般包括C#自带的所有数字类型,字符类型,bool类型,当然还有自定义的结构类型和枚举类型 而引用类型则是指向数据存储的地址.一般 ...
- C#基础--值类型和引用类型
C#中大多数类型都是引用类型,只有个别特殊情况是值类型. 值类型: 枚举(enum) 结构(struct) 基础类型:int, short, char, bool....(string是引用类型) 引 ...
- C#学习笔记之值类型与引用类型
[TOC] C#学习笔记之值类型与引用类型 1.值类型与引用类型 1.1 深层区别 值类型与引用类型有不同的内存分布,这导致了不同的内存管理机制: 值类型由OS负责内存管理 引用类型由垃圾回收器(GC ...
- GO值类型与引用类型
值类型 值类型包括基本数据类型,int,float,bool,string,以及数组和结构体(struct). 值类型变量声明后,不管是否已经赋值,编译器为其分配内存,此时该值存储于栈上. 值类型的默 ...
- C#之值类型和引用类型
本文意在巩固基础知识,并不是对其进行深入剖析,还望理解.本文是对此项知识的整理文,有些内容来源于网络,其他为博主原创,所以难免会有一些小得瑕疵,敬请谅解.所有示例均是博主测试过的,如有转载请标明出处, ...
- C# 语法二 值类型引用类型
1.值类型 2.引用类型 一 值类型 值类型存放在栈中,引用类型存放在堆中. 值类型有:数值.布尔.字符,例如:int i;bool i2;char cr='a'; 二 引用类型 大多数类型是引用类型 ...
- c#基础系列1---深入理解值类型和引用类型
"大菜":源于自己刚踏入猿途混沌拾起,自我感觉不是一般的菜,因而得名"大菜",于自身共勉. 不知不觉已经踏入坑已10余年之多,对于c#多多少少有一点自己的认识, ...
- [No0000B9]C# 类型基础 值类型和引用类型 及其 对象复制 浅度复制vs深度复制 深入研究2
接上[No0000B5]C# 类型基础 值类型和引用类型 及其 对象判等 深入研究1 对象复制 有的时候,创建一个对象可能会非常耗时,比如对象需要从远程数据库中获取数据来填充,又或者创建对象需要读取硬 ...
- <NET CLR via c# 第4版>笔记 第5章 基元类型、引用类型和值类型
5.1 编程语言的基元类型 c#不管在什么操作系统上运行,int始终映射到System.Int32; long始终映射到System.Int64 可以通过checked/unchecked操作符/语句 ...
随机推荐
- jenkins拉取github代码报错问题解决
问题起因: 踩坑踩坑 用jenkins拉取github项目的代码时,配置完成点击构建时,报错信息为:Couldn't find any revision to build. Verify the re ...
- 利用sqlmapapi和google-hacking联动自动化sql注入探测
利用inurl语法搜索+sqlmap梭哈挖到过一点sql注入,这不失为一种好方法. 但是现在的sql注入漏洞的网站是比较少的了,所以这样一个个手工测,不仅效率低,还不一定有什么收获.不妨写一个goog ...
- Python数据存储之shelve和dbm
一.shelve 和 dbm 的介绍 shelve 和 dbm 都是 python 自带的数据库管理模块,可以用于持久化存储和检索 python 中的对象. 虽然这两个模块的本质都是建立 key-va ...
- 根据多选下拉框选中的结果,循环输出选中的标签<el-cascader>;对象数组由二维变成一维
下面的图是要实现的交互图,根据<el-cascader>中v-model绑定的数据,再去下拉框出书数据中进行比对输出 v-model绑定的数据是一个二维数组,是这样的一组数据 [[1,12 ...
- 全球最大分类广告商的Karpenter实践:减负运维、减少中断、每月省21万(上)
原文链接: https://medium.com/adevinta-tech-blog/the-karpenter-effect-redefining-our-kubernetes-operation ...
- 【矩阵压缩】codeforces 1980 E. Permutation of Rows and Columns
题目链接 https://codeforces.com/problemset/problem/1980/E 题意 共输入\(T\)组测试用例,每组测试用例第一行输入两个整数\(n, m\),分别代表输 ...
- 数据库开发规范v1.0
一.建表规约 [强制]表达是与否概念的字段,必须使用 is_xxx 的方式命名,数据类型是 unsigned tinyint( 1 表示是,0 表示否). 说明:任何字段如果为非负数,必须是 unsi ...
- 数据湖加速器GooseFS,加速湖上数据分析性能
数据湖加速器 GooseFS 是由腾讯云推出的高性能.高可用.弹性的分布式缓存方案.依靠对象存储(Cloud Object Storage,COS)作为数据湖存储底座的成本优势,为数据湖生态中的计算应 ...
- Flutter 滑动组件互相嵌套问题
滑动组件互相嵌套问题 如果listview/singlechildscrollview 嵌套gridview,将两个组件的shrinkwrap设置为true,并且gridview无法滚动 physic ...
- cs-script:一个非常成熟的C#脚本开源引擎
推荐一个强大C#脚本引擎,方便我们在项目中,动态执行C#脚本. 01 项目简介 CS-Script是非常成熟的C#脚本引擎,自2004年起就发布了,即.NET发布后的两年. 支持托管和独立(CLI)执 ...