說實話,《C#入門經典》這本書對入門的同學來說真的太棒了,先不說內容如何,就作者先以控制台(命令行)調試程序的方法,就能夠最大限度地讓你關注學習的內容,而不是花哨的界面調試。
現在學習是下載的電子書,無論是復習還是整理筆記,都不方便。如果,自己能堅持寫筆記的方式學習完前7章,那我就去亞馬遜把這本書買了。
- 三元運算符:?
很多語言中都有這個運算符,原理都是一樣的,區別可能就在於書寫的格式上。習慣了excel的方式,總想把多個表達式用 , 號隔開,呵呵。在C#的三元運算符 ? 中,返回的兩個表達式之間,使用 : 號隔開,而不是 , 號,注意了:
string h = (k<10) ? "k小於10":"k大於或等於10";
當然,這種表達式適合簡單的比較后返回值處理,但對於根據比較結果而執行大量的代碼就不太適用了。
- IF語句
IF語句沒有返回值(不像 ? ),而且可以執行復雜的語句代碼塊,使用 { } 號包圍起來就OK了。和其它的語言差不多:if……elseif……else……,還是舉個例子吧,看看編譯的效果:
string msg; double i, j; Console.WriteLine("請輸入第1個數的值:"); i = Convert.ToDouble(Console.ReadLine()); Console.WriteLine("請輸入第2個數的值:"); j = Convert.ToDouble(Console.ReadLine()); if (i>j) { msg = "大於"; }else if (i == j) { msg = "等於"; }else { msg = "小於"; } Console.WriteLine("第一個操作數 {0} 第二個操作數", msg); Console.ReadKey();
這個例子比較簡單,但是卻從中看出一個編程思想。換作以前,自己肯寫會在每個if語句塊中加入Console.WriteLine來輸出結果,而這兒就精簡到只需要一條輸出語句。以后要在這方面多注意。
- switch語句
IF語句雖然好用,但是遇到離散的值,用IF來比較,就會顯得很不好讀。另外,switch是將表達式的值與可選項進行匹配,而不是類似if的條件判斷(>、<)。被匹配的值必須是常數值,可以為字面值(1、2、3),或者是常量:
const string myName = "karli"; const string sexyName = "angelina"; const string sillyName = "ploppy"; string name; Console.WriteLine("請輸入你的姓名:"); name = Console.ReadLine(); switch(name.ToLower()) { case myName: Console.WriteLine("你和我有相同的名字,{0}", myName); break; case sexyName: Console.WriteLine("哇~,{0}名字好性感哦。", sexyName); break; case sillyName: case "h": { Console.WriteLine("{0}這名字真是太漂了~~", sillyName); Console.WriteLine("那當然~"); break; } default: Console.WriteLine("hello {0}", name); break; } Console.ReadKey();
每個case執行后的語句,都需要放置一個break,包括default也需要。另外,case也可以多個堆疊,只要其中一個滿足條件,就會執行后面的語句。而在case后,也可以使用 {} 把語句塊包圍起來,執行多條語句。
- 結語
其實在學習過程中,示例的編寫、調試通過是很重要的,不止加深了印象,還會引發你的思考。當然,要是有一些小的程序練練手,是非常不錯的哈,大家有需求或想法的話可以聯系我哈。