第一章 C#概述
1.1 Helo,World
學習一種新語言最好的辦法就是動手寫程序。
C#編譯器創建的.exe程序是一個程序集(Assembly),我們也可以創建能由另一個較大的程序引用的代碼庫。庫也是一個程序集。
庫(或者稱為類庫)使用的文件擴展名是.dll,其中的dll代表動態鏈接庫(Dynamic Link Library,DLL)。
換言之,在一次成功的C#編譯之后,生成的肯定是一個程序集,無論他是一個程序,還是一個庫。
1.2 C#語法基礎
1.2.1 C#關鍵字
Keyword(關鍵字,保留字)
——C#中的某些含有特殊地位和含義的單詞。
——C#1.0之后沒有引入任何新的關鍵字,但在后續的版本中,一些構造使用了上下文關鍵字(contextual keyword),它們除了在特殊位置之外並沒有特殊含義。
——@前綴,如果關鍵字包含一個@前綴也可以作為標識符來使用。
標識符
——開發者提供的自己的名稱。
1.2.2 類型定義
類定義(class definition)
#code
class <標識符>
{
...;
}
#endcode
*Pascal大小寫(Pascal casing) 每個單詞字母都大寫
camel 大小寫(camel casing) 除第一個單詞字母開頭小寫外其余都大寫
1.2.3 Main
方法(method)
#coed
<訪問修飾符> <靜態/非靜態> <返回類型> 方法名 (參數列...) //方法聲明
{
代碼塊...;
}
#endcode
Main 方法的聲明
盡管聲明Main方法可以沒有參數和返回類型,但是C#是支持指定參數返回類型的。
#code
static int Main (string args[])
{
...;
}
#endcode
args 用以接收參數列,參數在命令行中以空格為分隔開。
*完整的命令行參數(可執行程序名稱+命令行參數)可以利用System.Environment.CommandLine來接收。
具體實例請參照文章最后附錄A。
int返回值,與C/C++一致,標志着程序是否成功運行,一個非零的返回值通常意味着錯誤。
1.2.4 語句和語句的分隔符
C#不以換行符作為語句的結束,而以分號作為一個語句的結束。
沒有分號的語句
switch語句,由於大括號總是包含在switch語句中所以C#不要求在該語句后加上分號。
1.2.5 空白
除極少數情況下,C#允許開發者在代碼中隨意插入空白,而不會改變其語義。
利用空白來格式化代碼,是代碼的可讀性更高。
1.3 使用變量
1.3.1 數據類型
char長度為16位,足以表示無代理項的Unicode字符。
*在某些語言文字中,需要用兩個16位值來表示。第一個代碼值稱為“高位代理項”(high surrogate),第二個代碼值稱為“低位代理項”(low surrogate)。
1.3.2 變量的聲明
變量名可以用任何字母或者下划線(_)來開頭,后跟任意數量的字母、數字和/或者下划線。
1.3.3 變量的賦值
使用=運算符進行賦值操作。
1.3.4 變量的使用
字符串的不可變性,字符串不可改變,只能重新賦值。
1.4 控制台輸入和輸出
System.Console.Read()方法,讀取到的單個字符以其對應的int值形式返回。如有多個字符,從頭順次讀取。
*具體實例請參照文章最后的附錄B。
附錄A:
附錄B: