和C++,java同樣,C#支持經常使用的if,while,do while,for,switch語句,具體語法不在贅述,但他們在C#中有一些用法和其餘的語言不一樣:java
(1)在C#中,if子句中的表達式必須等於布爾值。不能直接測試整數(如:從函數中返回的值 ,必須明確地把返回的整數轉換爲布爾值ture或false,例如,將值數組
與0或null進行比較:函數
if(dosomething()!=0)
{
//Non-zero returned
} else { //return zero }
(2)在C#中,能夠把字符串用做測試的變量。這和其餘語言中的switch語句不一樣。好比:學習
string testStr = func2();
switch(testStr) { case "for you": Console.WriteLine("for you"); break; case "for everyone": Console.WriteLine("for everyone"); break; default: Console.WriteLine("error!"); break; }
另外 ,C#的switch中每一個case後面均可覺得空或者加break,而且可使用goto在各個case之間進行跳轉,例如: 測試
int tsetnum=3;
switch (testnum) { case 2; testnum=6; goto case 3; case 3: testnum=9; default: break; }
可是通常不建議使用goto語句,由於它會形成混亂,使程序不容易調試。spa
另外,因爲C#出現要晚於其餘的不少語言,因此其中有許多新的語法語句,經常使用的有如下幾種:調試
(1)foreach語句code
下面的代碼中能夠了解foreach循環的語法,其中假定arrayOfInts是一個整型數組:對象
foreach(int temp in arrayOfInts)
{
Console.WriteLine(temp);
}
其中,foreach循環每次迭代數組中的一個元素。它把每一個元素的值放在整型的變量temp中進行輸出遍歷。當變量類型不肯定時,可使用類型推斷功blog
能。這種用法會更多見一些。此時,foreach循環變成 :
foreach(var temp2 in arrayOfValues)
{
Console.WriteLine(temp2);
}
注意,foreach循環不能改變集合中各項(上面的temp)的值,因此下面的代碼不會編譯:
foreach(var temp2 in arrayOfValues)
{
temp++; Console.WriteLine(temp2); }
若是須要迭代集合中的各項,並改變它們的值,就應使用for循環。
(2)枚舉類型enum
枚舉是用戶定義的整數類型。在聲明一個枚舉時,要指定該枚舉的實例能夠包含的一組可接受的值。不只如此,還能夠給值指定易於記憶的名稱。若是在
代碼的某個地方,要試圖把一個不在可接受範圍內的值賦予枚舉的一個實例,編譯器就會報告一個錯誤。從長遠來看,建立枚舉能夠節省大量時間,減小許多麻煩。
public enum KindsOfSeason{
Spring = 1; Summer = 2; Autumn = 3; Winter = 4; }
本例在枚舉中使用一個整數值來表示四季。如今能夠把這些值做爲枚舉的成員來訪問。例如, KindsOfSeason.Spring返回數字1。使用這個枚舉通常
是把合適的值傳送給方法。
在C#中,枚舉的真正強大之處是它們在後臺會實例化爲派生於基類System.Enum的結構。這表示能夠對它們調用方法,執行有用 的任務。注意因
爲.NET FrameWork的執行方式,在語法上把枚舉表示能夠對它們調用方法,執行有用的任務。
System.Enun上的其餘方法能夠返回枚舉定義中的值的個數或列出值的名稱等。
C#中的一些常見的新語句語法就先爲你們介紹到這,這些其實只能算C#語句中的一小部分,其餘的須要在實際讀寫程序的過程當中去學習積累。
下一篇博客將爲你們介紹C#的對象與類。