lxl 发表于 2025-2-6 23:23:13

.Net类型 值类型

预定义类型值类型 数据类型C#关键字(如 int、short 和 string) 从编译器映射到.NET数据类型。例如,在C#中声明一个int类型的数据时声明的实际是.Net System.Int32的一个实例。 这似乎很深奥,但其意义深远;这表示在语法上,可以把所有基本类型看成支持某些方法的类。例如,要把int i转换为string类型,可以编写为下面代码;
string s = i.ToString();应该强调的是,这种语法的背后,类型实际上仍存储为基本类型。基本类型在概念上用C#结构表示,所以肯定没有性能丢失。
1.整形
C#支持8种预定义的整数类型
名称.Net 类型说明范围(最小~最大)sByteSystem.SByte8位有符号的整数-128~127shortSystem.Int1616位有符号的整数-32768~32767intSystem.Int3232位有符号的整数-2147483648~2147483647longSystem.Int6464位有符号的整数-9223372036854775808~9223372036854775807byteSystem.Byte8位有符号的整数0~255ushortSystem.UInt1616位有符号的整数0~65535uintSystem.UInt3232位有符号的整数0~4294967295ulongSystem.UInt6464位有符号的整数0~184467440737095516152.浮点类型
C#提供支持许多整型数据类型,也支持浮点类型
名称.Net 类型说明位数范围(最小~最大)floatSystem.Single 32位单精度浮点数7-3.40282347E+38F~3.40282347E+38FdoubleSystem.Double64位双精度浮点数15/16-1.7976931348623157E+308~1.7976931348623157E+308float数据类型用于较小的浮点值,因为它要求的精度较低。double数据类型比float数据类型大,提供的精度也大一倍(15位)。如果在代码中对某个非整数值编码,则编译器一般假定该变量是double。如果想指定该值为float,可以在其后加上字符F或f。float f = 12.3F;3.Decimal类型
decimal类型表示精度更高的浮点数。
名称.Net 类型说明位数范围(最小~最大)decimalSystem.Decimal128位高精度十进制数表示法28-79228162514264337593543950335M~79228162514264337593543950335M.Net和C#数据类型的一个重要优点是提供了一种专用类型进行财务计算,这就是decimal类型提供28位的方式取决于用户。换言之,可以用较大的精确度(带有美分)来表示较小的美元值,也可以在小数部分用更多的舍入来表示较大的美元值。但应注意,decimal类型不是基本类型,所以在计算时使用该类型会有性能丢失。
  要把数字指定为decimal类型而不是double,float或整数类型,可以在数字的后边加上字符M或m 如:
decimal d = 12.3M; 4.布尔类型
 C#的bool类型用于包含布尔值true或false
 
名称.Net 类型说明位数范围(最小~最大)boolSystem.Boolean表示true或falseNAtrue或false bool值和整数数值不能相互转换。如果变量(或函数的返回类型)声明为bool类型,就只能使用true或false。如果试图使用0表示false,非0值表示true,就会出错。
bool a = false;bool b = 1>0; 5.字符类型
 为了保存单个字符的值,C#支持char数据类型
名称.Net 类型值charSystem.Char表示一个16位的(Unicode)字符char类型的字面量是用单引号括起来,如'A'。如果把字符放在双引号中,编译器会把它看成字符串,从而产生错误。除了把char表示为字符字面量之外,还可以用4位十六位进制的Unicode值、带有强制类型转换的整数值或十六进制数表示它们。它们还可以用转移序列表示如下。转义序列字符\'单引号\"双引号\\反斜杠\0空\a警告\b退格\f换页\n换行\r回车\t水平制表符\v垂直制表符 
页: [1]
查看完整版本: .Net类型 值类型