走進C#(我的C#學習之旅) 之四(1)
2024-07-21 02:19:15
供稿:網友
前面兩章花了很多的時間都在講述一些理論的東西,大家是不是覺得很無趣(是!說真的我的頭也大了,我也是強挺著讀下去的。)。那么這回大家終于開以松一口氣,從這一章開始,我們將正式踏進c#的世界了。由于這章的內容比較多,也比較重要,所以分幾節來學習。ready,go!
這一章主要講解了c#的語法及詞法結構。包括c#程序的基本結構、數據類型、常量、變量、操作運算符、流控制,注釋,c#的編譯方面等內容。我看了一下他的許多方面與c++和java有相似之處,我想有以上語言基礎的朋友學起來會更快一些。
下面以一個簡單的c#例程開始:
/*c#的第一個例子*/
//這是一個把信息寫到屏幕上的控制臺應用程序
using system;
class myfirstcsharpclass
{
public static int main()
{
console.writeline("this isn`t at all like java!");//輸出一個字符串
return 0;
}
}
(1)首先程序的第一二行,我想一看就知道了吧,是注釋。注釋有什么用呢,我想大家比我都清楚。
c#的注釋主要有這兩種,這兩種注釋的不同點就在于:“/* aaa */”這種注釋可以寫在多行上,而“//”則只能寫在一行上。其中要強調的一點就是c#不能嵌套來使用注釋。
比如:/*1/*2*/3*/。很顯然這種注釋是錯誤的,因為c#的編譯器是根據“/*”與“*/”成對的方式來區分注釋的。如上例當判斷到2以后編譯器就會認為注釋已經結束,接下來的應該為c#程序,而實際卻不是。
但是c#可以用這種方式來使用注釋:
console.writeline(/*please*/"this is a example!"); 雖然c#不提倡這樣做,但語法上是沒有錯誤的。那究竟這樣的注釋有什么用呢。我舉個例子來說。
比如:在程序的調試中有這樣的方法dosomething(width,height);現在我要為height輸入一個值來進行測試。這時候我們完全沒必要再寫上一次,而可以簡單的修改變:dosomething(width,/*height*/100);
(2)第三行的作用是通知編譯器到system中查找不在當前名稱空間中(或者沒有指定名稱空間)的類。
名稱空間他有點類似于java,.net中類都被組織在名稱空間中。關于名稱空間后續章節會有介紹。
在這里面要注意的一點就是c#是區分大小寫的語言。所以像這行的system就不能寫成system。
還有就是c#是以;來作為語句的結束的。
(3)第四行開始說明了一個類myfirstcsharpclass。有一點需要注意的是,c#的所有代碼都是被組織在類中的,這點和java很相似。
(4)這一行為一個把{,需要說明的是c#是用“{}”來組織語句的。
(5)這一行聲明一個沒有參數的main()方法。要注意這里是的main的每個字符為大寫。main()是c#可執行文件的入口點,這一點和c++以級java都是很相似的。
其中的public與static都是修飾符。public表示該方法可以在任何地方訪問。static表示方法不能在類的特定實例運行。具體的使用方法將在后續章節介紹。int 說明方法的返回值為整數,后面的文中有 return 0; 就是與之對應。關于方法的返回值c#要示要么不能返回值(void),要么返回int。
(6)調用console類的writeline()方法來輸出一行字符串。c#并沒有專門的輸入輸出關鍵字,而完全依賴于.net基類。而對于c#來說所有的工作都是依賴于.net類的。關于console后面會有更詳細的介紹。
c#的數據類型
下面介紹c#的數據類型。
(待續)