C#学习之--类型与引用

一:变量的类型决定了他能存储哪种数据
c#内置有多种类型,分别存储不同种类的数据。

1,最常用的值类型
毫不奇怪,最常用的类型是int、string、bool、和float。
★ int可以存储-2147483648~2147483647之间的任何整数。
★string可以存储任意长度的文本(包括空串“ ”)。
★bool是一个布尔值,可以为true或false。
★float存储 32 位浮点值的简单类型,最多可以保留七位有效数字,范围大致为:-3.4 × 1038to +3.4 × 1038
★double可以存储64位浮点值的简单类型,最多可以保留十六位有效数字,范围大致为:±5.0 × 10−324 to ±1.7 × 10308

2,更多表示整数的类型
★byte可以存储8 位,介于 0 ~255 之间
★sbyte可以存储8 位,介于 -128 ~127 之间
★short可以存储16 位,介于 -32,768 ~ 32,767 之间
★ushort可以存储16 位,介于 0 ~ 65,535 之间
★uint可以存储32 位,介于 0 ~ 4,294,967,295 之间
★long可以存储64 位,介于 -9,223,372,036,854,775,808 到 9,223,372,036,854,775,807 之间
★ulong可以存储64 位,介于 0 到 18,446,744,073,709,551,615 之间

3,存储非常大和非常小的数值类型
有事7位有效数字还不够精确。而且不论你是否相信,有时10^38都不够大,10^-45也不够小。为金融和科学研究领域便携的很多程序里经常会遇到这些问题,所以C#还提供了另外两个类型:
★float
★decimal可以存储128 位,至少介于 -7.9 × 10-28 到 7.9 × 1028 之间,至少为 28 位精度

4,一些非常有用的内置类型
★有时需要存储单个字符,如¥,Q,7,这种情况下就可以使用char类型。char的字面量值总是放在单引号里(如 ‘ x’),还可以在引号里包含转义序列,如‘\n’是一个换行符,‘\t‘是tab制表符。在c#代码中用两个字符来写转义序列,不过程序会把转义序列作为单个字符存储在内存中。
★最后还有一个重要的类型:object:通过创建类的实例来创建对象,没错,每一个这样的对象都可以赋值一个object变量。

二、变量类型的转换

1,隐式转换:所谓隐式转换,就是系统默认的转换,其本质是从小容量存储数据类型自动转换为大容量存储数据类型。有以下几种:

从sbyte类型到short,int,long,float,double,或decimal类型。

从byte类型到short,ushort,int,uint,long,ulong,float,double,或decimal类型。

从short类型到int,long,float,double,或decimal类型。

从ushort类型到int,uint,long,ulong,float,double,或decimal类型。

从int类型到long,float,double,或decimal类型。

从uint类型到long,ulong,float,double,或decimal类型。

从long类型到float,double,或decimal类型。

从ulong类型到float,double,或decimal类型。

从char类型到ushort,int,uint,long,ulong,float,double,或decimal类型。

从float类型到double类型。

2,显式转换:显式类型转换,即强制类型转换,与隐式转换相反,而且强制类型转换会造成数据丢失。
从sbyte到byte,ushort,uint,ulong,或char。

从byte到sbyte或char。

从short到sbyte,byte,ushort,uint,ulong,或char。

从ushort到sbyte,byte,short,或char。

从int到sbyte,byte,short,ushort,uint,ulong,或char。

从uint到sbyte,byte,short,ushort,int,或char。

从long到sbyte,byte,short,ushort,int,uint,ulong,或char。

从ulong到sbyte,byte,short,ushort,int,uint,long,或char。

从char到sbyte,byte,或short。

从float到sbyte,byte,short,ushort,int,uint,long,ulong,char,或decimal。

从double到sbyte,byte,short,ushort,int,uint,long,ulong,char,float,或decimal。

从decimal到sbyte,byte,short,ushort,int,uint,long,ulong,char,float,或double。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值