.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操作符/语句 ...
随机推荐
- Nuxt.js 应用中的 webpack:configResolved事件钩子
title: Nuxt.js 应用中的 webpack:configResolved事件钩子 date: 2024/11/21 updated: 2024/11/21 author: cmdragon ...
- Kibana之基本使用
介绍kibana经常使用的功能 查询: # 查询内容不为空的数据,并返回总数量 GET mp_article/_search?rest_total_hits_as_int=true { "q ...
- log4j2 变量注入漏洞(CVE-2021-44228)
log4j2 JNDI注入漏洞(CVE-2021-44228) 概述 本文非常详细的从头到尾debug了CVE-2021-44228漏洞的利用过程,喜欢的师傅记得点个推荐~ Apache Log4j2 ...
- .NET 6,7,8 本地化的 IntelliSense 文件
官方的汉化教程 目前仅提供了.NET5 的本地化 IntelliSense 文件 https://mp.weixin.qq.com/s?__biz=MzI3ODc3NzIxMw==&mid=2 ...
- Java并发 —— 线程并发(一)
线程和进程 进程就是一个内存中运行的应用程序 线程是当前进程中的一个执行任务(控制单元),负责当前进程中程序的执行 区别与联系 根本区别:进程是操作系统资源分配的基本单位,线程是处理器任务调度和执行的 ...
- st包无效
本机正常安装了 oracle11g 和 ArcSDE10, 想要查询某个空间图层表的shape字段值,所以写了如下sql语句在PL/SQL里执行,select sde.st_astext(shape ...
- vue全局事件总线
首先在main.js中app实例中使用生命周期钩子添加组件 new Vue({ router, render: h => h(App), beforeCreate() { Vue.prototy ...
- PDFSharp - Graphics 绘制接口
PDFSharp - Graphics Graphics - PDFsharp and MigraDoc Wiki 所有的 Graphics 类型都设计成模仿来自 System.Drawing 命名空 ...
- APIView执行流程(源码分析)、Request对象源码分析
目录 一.APIView执行流程--源码分析(难,了解) 1.1 基于APIView+JsonResponse编写接口 1.2 基于APIView+Response 写接口 1.3 APIView的执 ...
- shell 获取 目录名 当前目录名
Four ways to extract the current directory name By Sergio Gonzalez Duran on November 06, 2007 (9:00 ...