最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

C# 基礎(chǔ)之運(yùn)算符

 更新時(shí)間:2013年09月25日 16:17:47   作者:  
這篇文章介紹了C# 運(yùn)算符的基礎(chǔ)知識,有需要的朋友可以參考一下
1、條件運(yùn)算符
條件運(yùn)算符(?:)也稱為三元(目)運(yùn)算符,是if...else結(jié)構(gòu)的簡化形式,可以嵌套使用。
 
復(fù)制代碼 代碼如下:

int x = 1; 
string s = x + ""; ; 
s += (x == 1 ? "man" : "men"); 
Console.WriteLine(s);//輸出1man 

2、checked和unchecked
復(fù)制代碼 代碼如下:

byte b = 255; 

    b++; 

Console.WriteLine(b.ToString());//輸出0 

但是由于byte只能包含0-255的數(shù),所以++之后會導(dǎo)致b溢出。因此,如果把一個(gè)代碼塊標(biāo)記為checked,CLR就會執(zhí)行溢出檢查,如果發(fā)生溢出,就拋出來OverflowException異常。
如下所示:
復(fù)制代碼 代碼如下:

byte b = 255; 
checked 

    b++; 

Console.WriteLine(b.ToString());//拋出OverflowException異常,算術(shù)運(yùn)算導(dǎo)致溢出 

如果要禁止溢出檢查,可以標(biāo)記為unchecked:
復(fù)制代碼 代碼如下:

byte b = 255; 
unchecked 

    b++; 

Console.WriteLine(b.ToString());//輸出0,不拋異常 

3、is
is運(yùn)算符可以檢查對象是否與特定的類型兼容?!凹嫒荨北硎緦ο笫窃擃愋突蛘吲缮栽擃愋汀?BR>
復(fù)制代碼 代碼如下:

string i = "hello i..."; 
if (i is object) 

    Console.WriteLine("i is an object...");//執(zhí)行了這句話 


4、as
as運(yùn)算符用于執(zhí)行引用類型的顯式類型轉(zhuǎn)換(string 為引用類型)。如果要轉(zhuǎn)換的類型與指定的類型兼容,轉(zhuǎn)換就會成功進(jìn)行;如果類型不兼容,as運(yùn)算符就會返回Null。
復(fù)制代碼 代碼如下:

string i = "hello i..."; 
if (i is object) 

    object obj = i as object;//顯式類型轉(zhuǎn)換 
    Console.WriteLine(obj is string ? "obj is string..." : "obj is not string...");//輸出obj is string... 
}

5、sizeof
sizeof運(yùn)算符可以確定stack中值類型需要的長度(單位是字節(jié)):
復(fù)制代碼 代碼如下:

int byteSize = sizeof(byte);//輸出1 
int charSize = sizeof(char);//輸出2 
int uintSize = sizeof(uint);//輸出4 
int intSize = sizeof(int);//輸出4 

6、typeof
typeof運(yùn)算符常常會跟GetType()方法結(jié)合使用,來反射出類的屬性、方法等。
復(fù)制代碼 代碼如下:

Type intType = typeof(int); 
System.Reflection.MethodInfo[] methodInfo = intType.GetMethods(); 
methodInfo.ToList().ForEach(x => Console.WriteLine(x.Name));//反射出int類型的方法名 

7、可空類型和運(yùn)算符
如果其中一個(gè)操作數(shù)或兩個(gè)操作數(shù)都是null,其結(jié)果就是null,如:
復(fù)制代碼 代碼如下:

int? a = null; 
int? b = a + 4;//b = null 
int? c = a * 5;//c = null 

但是在比較可空類型時(shí),只要有一個(gè)操作數(shù)為null,比較的結(jié)果就是false。但不能因?yàn)橐粋€(gè)條件是false,就認(rèn)為該條件的對立面是true。如:
復(fù)制代碼 代碼如下:
 
int? a = null; 
int? b = -5; 
if (a >= b) 
    Console.WriteLine("a > = b"); 
else 
    Console.WriteLine("a < b");//會輸出這句話

8、空合并運(yùn)算符
例如:
復(fù)制代碼 代碼如下:

int? a = null;//加問號,是為了能夠給Int型賦值為null 
int b; 
b = a ?? 1; 
[csharp] 
Console.WriteLine(b);//輸出1 
a = 3; 
b = a ?? 10; 
Console.WriteLine(b);//輸出10 

相關(guān)文章

最新評論

德化县| 鲁甸县| 东乌珠穆沁旗| 阿鲁科尔沁旗| 佛冈县| 新和县| 温州市| 准格尔旗| 麻江县| 桓仁| 淅川县| 东兰县| 开远市| 张北县| 普格县| 朝阳区| 霞浦县| 清远市| 久治县| 子洲县| 肇州县| 文化| 芷江| 昆明市| 宝丰县| 浑源县| 普格县| 抚顺市| 黔西县| 安陆市| 南宫市| 从江县| 肃宁县| 宾阳县| 额敏县| 沂水县| 米林县| 宿州市| 南召县| 石渠县| 昂仁县|