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