.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操作符/语句 ...
随机推荐
- Air780E软件指南:C语言内存数组(zbuff)
一.ZBUFF(C内存数组)简介 zbuff库可以用c风格直接操作(下标从0开始),例如buff[0]=buff[3] 可以在sram上或者psram上申请空间,也可以自动申请(如存在psram则在p ...
- LLM应用实战: 给个公司简称,输出公司全称
1.背景 本qiang~本周在处理手头项目工作的时候,遇到了一个问题,就是友方提供了一个公司名称列表(量不小~,因此无法人工处理),且该公司名称列表均为简称,需要与库中的全称做一个映射匹配. 看似简单 ...
- Uncaught Error: Cannot find module 'strip-ansi'
我的项目是typescript开发语言,原本我只写了".ts",导致上面运行yarn dev编译报错,页面报错.加上".js"后成功 报错原因:在webpack ...
- Graylog之告警
官方文档:https://docs.graylog.org/en/3.0/index.html 前面我们已经了解了Graylog的搭建,以及日志的接入方法.我们知道graylog可以将收集的的日志通过 ...
- Newstar CTF 2023 week2 pwn
1.ret2libc 发现存在pop rdi 观察main函数,可以利用puts函数泄露libc from pwn import * from LibcSearcher import * contex ...
- seldom-platform:颠覆传统的自动化测试平台
seldom-platform:颠覆传统的自动化测试平台 seldom-platform是一个自动化测试平台,其特点是让会写代码的测试人员能够通过seldom框架高效地完成自动化用例的编写,并将剩下的 ...
- Dapper.SimpleCRUD:Dapper的CRUD助手
我们在项目开发中,面对一些高并发.大数据量等业务场景,往往对SQL语句的性能要求比较高,这个时候为了方便灵活控制,我们一般就会编写原生的SQL. Dapper就是一个非常高性能的轻量级ORM框架,Da ...
- 腾讯云 TStor 统一存储通过信通院首批文件存储基础能力评测
在大数据上升为国家战略背景下,当前我国各行业.各领域正积极提升数据资源掌控能力和深度价值挖掘能力.存储作为数据基础设施建设的关键支柱,在国民经济发展过程中的重要性日益凸显. 2022年6月16日,中国 ...
- C#获得本地IP地址的各种方法
网上有很多种方法可以获取到本地的IP地址.一线常用的有这么些: 枚举本地网卡 using System.Net.NetworkInformation; using System.Net.Sockets ...
- 【Java】【Maven】002 修改maven仓库的路径与配置阿里云镜像仓库
[Java][Maven]001 下载与配置环境 - 萌狼蓝天 - 博客园 (cnblogs.com/mllt) 修改maven仓库的路径 maven指定的本地仓库的默认位置是在c盘,默认在:C:\U ...