博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
编程语言的基元类型
阅读量:5016 次
发布时间:2019-06-12

本文共 1465 字,大约阅读时间需要 4 分钟。

编译器直接支持的数据类型称为基元类型。基元类型直接映射到Framework类库(FCL)中存在的类型。比如在c#中int直接映射到曹衍涛

System.Int32类型.

IL(IL可以指Intermediate Language,同MSIL(Microsoft Intermediate Language),是将.NET代码转化为机器语言的一个中间语言的缩写)

CLS(common language Specification)公共语言规范

下为c#基元类型与对应FCL类型

c#基元类型 FCL类型 CLS相容 说明
sbyte   System.SByte 有符号8位值
byte System.Byte 无符号8位值
short System.Int16 有符号16位值
ushort System.UInt16 无符号16位值
int     System.Int32 有符号32位值
uint System.UInt32 无符号32位值
long System.Int64 有符号64位值
ulong System.UInt64 无符号64位值
char System.Char 16位Unicode字符
float System.Single IEEE32位浮点值
double System.Double IEEE64位浮点值
bool System.Boolean true/false
decimal System.Declmal 128位高精度浮点值
string System.String 一个字符数组
object System.Object 所有类型的基类
dynamic System.Object 对于CLR,dynamic与objecty完全一致

编译器能识别常见的编程模式,生成必要的IL,使代码能像预期工作

c#编译器支持与类型转换、文本常量以及操作符有关的模式

如果转换时安全的(不会丢失数据),c#允许进行隐式转换,若不安全则要求显示转换。比如说Int32转为Int64可以隐式转换,反之需要显示转换。

除了转型,基元类型还能写成文本常量,文本常量可以被看作是类型本身的一个实例。

Console.WriteLine(123.ToString()+123.ToString());//"123123"

 

checked与unchecked类型操作

对基元类型执行的许多操作都可能造成溢出:

Byte b=100;

b=(Byte )(b+200);//byte取值范围为-128~127

程序员可以在特定的区域用checked与unchecked控制溢出检查

checked操作符

Byte b=100;

b=(Byte )checked(b+200);//不会抛出overflowexception异常

b=checked((Byte )(b+200));//会抛出overflowexception异常

除了chacked和unchecked操作符,c#还支持checked和unchecked语句,他们造成一个块中所有的表达式都进行或者不进行溢出检查。

checked{//开始一个checked模块

Byte b=100;

b+=200;//该表达式会进行溢出检查

}//结束一个checked模块

转载于:https://www.cnblogs.com/lanrenqilanming/p/6258706.html

你可能感兴趣的文章
洛谷 P2486 [SDOI2011]染色
查看>>
oo第三单元总结
查看>>
leetcode : Count and Say [基本功]
查看>>
洛谷 P2485 [SDOI2011]计算器 解题报告
查看>>
Slickflow.NET 开源工作流引擎基础介绍(三) -- 基于HTML5/Bootstrap的Web流程设计器
查看>>
Node教程
查看>>
java将字段映射成另一个字段,关于 接口传参 字段不对应转换
查看>>
Redis
查看>>
HTTP(一)工作机制
查看>>
条形码扫描枪数据读取的问题
查看>>
健壮的 Java 基准测试
查看>>
phpstorm查看类的继承关系
查看>>
git create clone(仓库)
查看>>
矩阵求逆
查看>>
在 Windows 8、Windows 10 桌面模式下的 .NET Framework 程序中,引用 Windows.Runtime 的 API。...
查看>>
2015 8月24号 工作计划与实行
查看>>
Google Map API V3开发(6) 代码
查看>>
Kafka初入门简单配置与使用
查看>>
第三章Git使用入门
查看>>
Amd,Cmd, Commonjs, ES6 import/export的异同点
查看>>