C#中if語(yǔ)句使用概述
C#語(yǔ)言有很多值得學(xué)習(xí)的地方,這里我們主要介紹C#使用if語(yǔ)句。如果想根據(jù)一個(gè)布爾表達(dá)式的結(jié)果選擇執(zhí)行兩個(gè)不同的代碼塊,就可以C#使用if語(yǔ)句。
理解if語(yǔ)句的語(yǔ)法
if語(yǔ)句的語(yǔ)法格式如下(if和else是關(guān)鍵字):
if ( booleanExpression )
statement-1;
else
statement-2;
如果booleanExpression求值為true,就運(yùn)行 statement-1;否則就運(yùn)行statement-2。else關(guān)鍵字和后續(xù)的statement-2是可有可無(wú)的。如果沒(méi)有else子句,那么在booleanExpression為false的前提下,什么都不會(huì)發(fā)生。
例如,以下if語(yǔ)句用于遞增一個(gè)秒表的秒針(暫時(shí)忽略分鐘)。如果seconds的值是59,就重置為0;否則就使用操作符++來(lái)遞增:
int seconds;
...
if (seconds == 59)
seconds = 0;
else
seconds++;
只使用布爾表達(dá)式!
C#使用if語(yǔ)句中的表達(dá)式必須放在一對(duì)圓括號(hào)中。除此之外,表達(dá)式必須是布爾表達(dá)式。在另一些語(yǔ)言中(尤其是C和C++),還可以使用一個(gè)整數(shù)表達(dá)式,編譯器能自動(dòng)將整數(shù)值轉(zhuǎn)換成true(非零值)或false(零值)。C#不允許這樣做。如果寫(xiě)這樣的一個(gè)表達(dá)式,編譯器會(huì)報(bào)錯(cuò)。
假如在if語(yǔ)句中不慎寫(xiě)了一個(gè)賦值表達(dá)式,而不是執(zhí)行一個(gè)相等性測(cè)試,C#編譯器也能識(shí)別你的錯(cuò)誤。例如:
int seconds;
...
if (seconds = 59) // 編譯時(shí)錯(cuò)誤
...
if (seconds == 59) // 正確
不慎而寫(xiě)成賦值表達(dá)式,是C和C++程序容易出現(xiàn)bug的另一個(gè)原因。在C和C++中,會(huì)將所賦的值(59)悄悄地轉(zhuǎn)換成一個(gè)布爾值(任何非零的值都會(huì)被視為true),造成每次都必定執(zhí)行C#使用if語(yǔ)句之后的代碼。
最后,可以將一個(gè)布爾變量作為表達(dá)式使用,如下例所示:
bool inWord;
...
if (inWord == true) // 可以,但不常用
...
if (inWord) // 更好
相關(guān)文章
C#算法函數(shù):獲取一個(gè)字符串中的最大長(zhǎng)度的數(shù)字
這篇文章介紹了使用C#獲取一個(gè)字符串中最大長(zhǎng)度的數(shù)字的實(shí)例代碼,有需要的朋友可以參考一下。2016-06-06基于WPF實(shí)現(xiàn)PDF的顯示與轉(zhuǎn)換
這篇文章為大家詳細(xì)主要介紹了如何基于WPF實(shí)現(xiàn)PDF的顯示并轉(zhuǎn)換成圖片,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下2023-12-12c# 通過(guò)內(nèi)存映射實(shí)現(xiàn)文件共享內(nèi)存的示例代碼
這篇文章主要介紹了c# 通過(guò)內(nèi)存映射實(shí)現(xiàn)文件共享內(nèi)存的示例代碼,幫助大家更好的理解和學(xué)習(xí)使用c#,感興趣的朋友可以了解下2021-04-04C#中使用快速排序按文件創(chuàng)建時(shí)間將文件排序的源碼
C#中使用快速排序按文件創(chuàng)建時(shí)間將文件排序的源碼...2007-03-03淺談C#各種數(shù)組直接的數(shù)據(jù)復(fù)制/轉(zhuǎn)換
下面小編就為大家?guī)?lái)一篇淺談C#各種數(shù)組直接的數(shù)據(jù)復(fù)制/轉(zhuǎn)換。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2016-08-08