您的位置:首页 > 编程语言 > C#

C# checked 检查整型数据运算溢出 as,is运算符 可空类型空结合

2010-11-16 22:31 351 查看
1.checked和unchecked

static void Main()

{

int x = 2147483647; // Max int

int y = 2;

int z;

checked

{

z = x * y;

}

Console.WriteLine("Unchecked output value: {0}", z);

Console.Read();

}

上面的代码会抛出一个OverflowException异常。

如果不写checked 则会输出溢出之后的错误答案,而不是抛出异常。

用unchecked 跟不写是一样的结果。

2.is运行符

int i = 10;

if (i is object) //True

{

Console.WriteLine("i is an object");

}

3.as运算符

object o1 = "Some String";

object o2 = 5;

string s1 = o1 as string; //s1 = "Some String"

string s2 = o2 as string; //s1 = null

4.可空类型

int? a = null;

int? c = null;

int? b = 2;

int? b = a + 4; // b = null

int? c = a * 5; // c = null

Console.WriteLine(a==c); //True;

Console.WriteLine(a>b); //False

Console.WriteLine(a<b); //False

Console.WriteLine(a==b); //False

//同样的double等值类型也可以这样

5.空接合运算符

int? a = null;

int b;

b = a ?? 10; // b has the value 10

a = 3;

b = a ?? 10; // b has the value 3

//运算符?? 前面的一个必须是可空类型的

//如果第一个不是null的话那么表达式的值就是第一个数

//否则表达式的值就是第二个值
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: