C#教程第一課:簡單的歡迎程式

來源:互聯網
上載者:User

在本文開始寫作的時候,雖然商用C# 編譯器尚未推出, 但你可以下載微軟的.NET Frameworks SDK Beta 1.
本節課通過介紹幾個簡單的程式,使得你對C#有所入門。本節程要達到如下幾個目的:
1.理解一個C#程式的基本結構。

2.初步瞭解"名稱空間"的概念。

3.初步瞭解"類"的概念。

4.瞭解"Main"方法所做的工作。

5.學會如何讀取命令列輸入資訊。

6.學會使用控制台輸入/輸出 (I/O)語句。

1.清單1-1. 一個簡單的歡迎程式Welcome.cs

// Namespace Declaration
using System;
// Program start class
class WelcomeCSS {
// Main begins program execution.
public static void Main() {
// Write to console
Console.WriteLine("Welcome to the C# Station Tutorial!");
}
}

說明

1.清單1-1中的程式包括四個基本元素:名稱空間的聲明,類,"Main"方法和語句。

2.本例中對名稱空間的聲明,表明正在使用"System"這個名稱空間。

名稱空間內包含了一組可以被C#程式調用的代碼。有了"using System;"這個聲明,就表明程式可以引用該"System"名稱空間內的代碼,而無需在每個引用的前面加上"System"。關於這一點,我將在後面專門介紹名稱空間的課程中詳細介紹。

3.類"class WelcomeCSS"包含了程式所要用到的資料,和所要執行的方法的定義。

同諸如介面和結構這樣的元素類似,類在程式中是用來描述對象的,這些元素都將會在後續課程中詳細介紹。本例中的類不包含資料,只包含一個方法。該方法定義了該類的行為(或者稱為該類所能做的事情)。

4.程式運行時,WelcomeCSS類中的該方法表明了該類所要完成的事情。

方法名"Main"作為保留字,作為程式的起點。"Main"前面是個名為"static"的修飾符。"static"修飾符表明該方法僅僅在該特定的類中工作,而不是在在該類的執行個體中工作。這是必需的,因為一旦程式啟動後,並不存在對象的執行個體。類,對象和執行個體的具體用法將會在後面的課程中覆蓋到。每個方法必須有個傳回值類型。本例中,傳回值類型是"void",它表明"Main"函數沒有傳回值。每個方法名的後面也都跟著個參數表,參數表包含有零個或者多個參數並用括弧括起來。為了簡單起見,沒有在"Main"後面添加參數。後面的課程中,將介紹"Main"方法所允許採用的參數類型。

5."Main"方法通過"Console.WriteLine(...)" 語句表明其行為。

"Console" 是"System" 名稱空間中的類。"WriteLine(...)"是"Console" 類中的方法。我們使用"."這個句點操作符來標記程式中的從屬元素。注意到,我們也可以這樣來書寫:"System.Console.WriteLine(...)",這樣的書寫格式是很有趣的,它是根據"namespace.class.method" 的格式進行書寫的。如果在程式的一開始,沒有採用"using System"的聲明,那麼就必須嚴格遵守"System.Console.WriteLine(...)"這樣的書寫格式。該語句的執行結果是在控制台控制台上輸出字串"Welcome to the C# Station Tutorial!" 。

6.注釋是由"//"標出的。

例子中的這些注釋都是單行注釋,表明從該注釋符號的開始處到該行結束處,都是注釋部分。如果你的注釋要跨越若干行,即多行注釋,可以以符號"/*"開始,以符號"*/"結束,其中所包含的全部是注釋。你也可以在多行注釋符號中包含單行注釋。但是,不能在單行注釋符號後面放上多行注釋符號。程式編譯時間,將忽略掉注釋部分。注釋的目的是為了用簡單的英語給程式所要完成的工作加上註解。

7.所有語句都以分號";"結束。

類和方法以"{"開始,以"}"結束。任何位於"{"和"}"之間的語句定義為塊。塊定義了程式元素的活動範圍 (或者稱為生命期和可見度),這些概念將在後面的課程中加以介紹。

8.可以編寫出能夠接受命令列輸入資訊的程式。

命令列輸入資訊的集合是在"Main"方法中進行處理的。清單1-2中的程式,可以從命令列中接受輸入一個名字,之後在控制台上顯示出來。

2.清單1-2. 讀取命令列輸入資訊的程式NamedWelcome.cs

// Namespace Declaration
using System;
// Program start class
class NamedWelcome {
// Main begins program execution.
public static void Main(string[] args) {
// Write to console
Console.WriteLine("Hello, {0}!", args[0]);
Console.WriteLine("Welcome to the C# Station Tutorial!");
}
}

說明

1.記住,要把你的名字添加到命令列中。

例如,在命令列中打入"NamedWelcome Joe"。如果不這樣做,程式就會崩潰,在後面的課程中,將介紹如何檢測這種情況,以及如何避免這種情況的出現。

2.在清單1-2中,在"Main"方法的參數表中有個入口。

參數名是"args"。 在程式的後面部分就要引用該參數。"string[]"是參數"args"的類型。"string"類型用於存放字元。這些字元可以是一個單詞,也可以是多個單詞。方括弧"[]"表示數組,"args"參數由命令列上的若干個單詞構成。

3.在"Main"方法的語句中,多了一條"Console.WriteLine(...)"語句。

該語句中的參數表同以往的寫法不同,其中有個格式字串"{0}" 參數。 格式串中的第一個參數從數字0開始,第二個參數從數字1開始,依此類推。 "{0}" 參數意味著引號後面的參數值將會輸出到該位置。現在讓我們來看看引號後面的參數。

4."args[0]"參數,它指向"args"數組中的第一個字串。

數組中的第一個元素是args[0], 第二個元素是args[1],依此類推。例如,如果我在命令列中寫上"NamedWelcome Joe","args[0]"的值就為"Joe".

 

讓我們回到在格式字串中嵌入的"{0}" 參數吧,因為"args[0]"是格式串後面的第一個參數, 一旦執行該命令時,"args[0]"的值"Joe"就會替換掉格式串中的"{0}"。一旦執行命令:"NamedWelcome Joe",輸出結果就會為:

>Hello, Joe!
>Welcome to the C# Station Tutorial!

通過控制台也可以把輸入資訊提供給程式。清單1-3示範了互動式處理使用者輸入的資訊的方法。

3.清單1-3. 互動式處理輸入資訊的程式 InteractiveWelcome.cs

// Namespace Declaration
using System;
// Program start class
class NamedWelcome {
// Main begins program execution.
public static void Main() {
// Write to console/get input
Console.Write("What is your name?: ");
Console.Write("Hello, {0}! ", Console.ReadLine());
Console.WriteLine("Welcome to the C# Station Tutorial!");
}
}

說明

這一次,"Main"方法沒有用到任何參數,但現在程式中有了三條語句,前面兩條語句不同於第三條語句,它們是:"Console.Write(...)"而不是 "Console.WriteLine(...)"。區別是:"Console.Write(...)"語句把資訊輸出到控制台,之後游標停留在同一行,而"Console.WriteLine(...)"把資訊輸出,之後換行。

第一條語句僅僅輸出"What is your name?: "到控制台。

第二條語句要等到其參數被適當地處理之後,才會輸出資訊。 格式串後面的第一個參數是:"Console.ReadLine()"。這就使得程式要等待使用者在控制台輸入資訊,輸入資訊以斷行符號或者換行結束。該方法的傳回值替換了格式串中的"{0}"參數,並輸出到控制台上。

最後一個語句也用來輸出資訊到控制台,這一點我們在前面已經介紹過。一旦運行了程式"InteractiveWelcome",其輸出結果為:

>What is your Name?
>Hello, ! Welcome to the C# Station Tutorial!

小結
到現在為止,你已經瞭解了C#程式的基本結構,名稱空間和類。你還瞭解到"Main"方法是C# 程式的入口,並學會了如何捕捉命令列的輸入資訊,以及如何進行互動I/O操作。大家繼續學吧..教程會繼續放出來的..我先看家有喜事2009 電影去了....

 

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.