预定义类型

预定义的值类型:

1.整形

名称 CTS类型 说明 范围
 sbyte System.SByte8位有符号整数 -128~127(-27~27-1)
 short System.Int1616位有符号整数 -32768~32767(-215~215-1)
 int System.Int3232位有符号整数 -2147483648~2147483647(-231~231-1)
 long System.Int6464位有符号整数 -9223372036864775808~-9223372036864775807(-263~263-1)
 byte System.Byte8位无符号整数 0~127(0~28-1)
 ushort System.UInt1616位无符号整数 0~32767(0~216-1)
 uint System.UInt3232位无符号整数 0~2147483647(0~232-1)
 ulong System.UInt6464位无符号整数 0~-9223372036864775807(0~264-1)

 

 

 

 

 

 

 

 

 

 

 

例如:

long x=0x12ab;

uint ui=1234U;

long l=1234L;

ulong ul=1234UL;

浮点类型:

名称CTS类型说明位数范围
floatSystem.Single32位单精度浮点数7±1.5×10245~±3.4×1038
doublesystem.Double64位单精度浮点数15/16±5.0×10-324~±1.7×10308

 

 

 

例如:

float f=12.3F;

 

decimal类型(精度更高的浮点数):

名称CTS类型说明位数范围
decimalSystem.Decimal128位高精度十进制数表示法28±1.0×10-28~±7.9×1028

 

 

该类型专用于财务计算,它不是基本类型,所以在计算过程中会有性能损失

例如:

decimal d=12.3M;

 

bool 类型:

名称CTS类型说明位数
boolSystem.Boolean表示true或falseNAtrue或false

 

 

字符类型:

名称CTS类型
charSystem.Char16位(Unicode)字符

 

 

比如可以用如下几种方式表示为字符字面量:

'A'=>单引号括起来

'\u0041'=>十六进制Unicode值

(char)65=>带有数据类型转换的整数值

'\x0041'=>十六进制数

转义字符:

转义字符字符
\'单引号
\''双引号
\\反斜杆
\0
\a警告
\b退格
\f换页
\n换行
\r回车
\t水平制表符
\v垂直制表符

 

 

 

 

 

 

 

 

 

预定义的引用类型:

名称CTS类型说明
objectSystem.Object根类型,CTS中的其他类型都是从它派生而来的(包含值类型)
stringSystem.StringUnicode字符串

 

 

简略说下String类型:

 1 using System;
 2 namespace Wrow
 3 {
 4     class Test
 5     {
 6         public static void Main()
 7         {
 8             string s1="a string";
 9             string s2=s1;
10             Console.WriteLine("S1 is "+s1);
11             Console.WriteLine("S2 is "+s2);
12             s1="another string";
13             Console.WriteLine("S1 is now "+s1);
14             Console.WriteLine("S2 is now "+s2);
15             return;
16         }
17     }
18 }

输出结果:

s1 is a string;

s2 is a string;

s1 is now another string;

s2 is a string;

解析:

 string类型虽然是引用类型,但是刚好与我们期待的引用类型相反。

当“ a string”初始化s1时,就是在内存堆中分配了一个string对象

当初始化s2时,因为引用也指向了s1的对象,所以此时s2也是"a string"

当改变s1值时,并不会替换原来的值,而是重新内存中分配了一个新的对象分配给了s1,s2仍然指向原来的对象,所以s2值才不会变

用@代替反斜杠转义的字符串,例如:string filepath=@"C:\ProCSharp\First.cs";

转载于:https://www.cnblogs.com/weile0769/p/6731082.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值