C# 簡介 - 互動式教學課程
本教學課程會以互動方式教導您 C#,使用瀏覽器撰寫 C# 並查看編譯和執行程式代碼的結果。 它包含一系列以 「Hello World」 程式開頭的課程。 這些課程會教您 C# 語言的基本概念。
提示
當代碼段區塊包含 [執行] 按鈕時,該按鈕會開啟互動式視窗,或取代互動式視窗中的現有程序代碼。 當程式碼片段不包含 [執行] 按鈕時,您可以複製程式代碼並將其加入目前的互動式視窗。
執行您的第一個程式
在互動式視窗中執行下列程序代碼。
Console.WriteLine("Hello, World!");
祝賀! 您執行了第一個 C# 程式。 這是一個簡單的程式,列印訊息 “Hello World!”它會使用 Console.WriteLine 方法來列印該訊息。
Console
是代表主控台視窗的類型。
WriteLine
是 Console
類型的方法,可將一行文字列印至該文字控制台。
讓我們繼續探索更多。 本課程的其餘部分會探索使用 string
類型,其代表 C# 中的文字。 如同 Console
類型,string
類型具有 方法。
string
方法能處理文字。
宣告和使用變數
您的第一個程式會在畫面上列印 string
“Hello World!” 。
提示
當您探索 C# 或任何程式設計語言時,您在撰寫程式代碼時犯了錯誤。 編譯程式 會尋找這些錯誤,並將其回報給您。 當輸出包含錯誤訊息時,請仔細查看範例程式代碼,以及互動式視窗中的程式碼,以查看要修正的專案。 該練習可協助您瞭解 C# 程式代碼的結構。
您的第一個程式僅限於列印一則訊息。 您可以使用 變數撰寫更實用的程式。 變數 是一種符號,可用來使用不同的值執行相同的程序代碼。 讓我們試試看! 從下列程式代碼開始:
string aFriend = "Bill";
Console.WriteLine(aFriend);
第一行會宣告變數,aFriend
,併為其指派值 “Bill”。 第二行列印名稱。
您可以將不同的值指派給任何宣告的變數。 您可以將名稱更改為其中一位朋友的名字。 在您新增的程式代碼之後,在上述互動式視窗中新增這兩行。 請確定您保留 aFriend
變數及其初始指派的宣告。
重要
請勿刪除 aFriend
的宣告。 在上述互動式視窗結尾新增下列程式代碼:
aFriend = "Maira";
Console.WriteLine(aFriend);
請注意,同一行程式代碼會根據儲存在 aFriend
變數中的值,列印兩個不同的訊息。
您可能會注意到最後兩則訊息中遺漏了 「Hello」 這個字。 現在讓我們來修正此問題。 修改那些用來列印訊息的程式碼行如下:
Console.WriteLine("Hello " + aFriend);
再選取 [執行] 以查看結果。
您已使用 +
從 變數 和 常數 字串建置字串。 有一個更好的方法。 您可以在 {
和 }
字元之間放置變數,以指示 C# 以變數的值取代該文字。
此過程稱為 字串插補。
如果您在字串的開頭引號之前加入 $
,則可以在大括號之間的字串中包含變數,例如 aFriend
。 試試看:
選擇 再次執行 以查看結果。 訊息應該是 「Hello Maira」,而不是 「Hello {aFriend}」。。
Console.WriteLine($"Hello {aFriend}");
處理字串
您的最後一個編輯動作是我們第一次看到您可以如何處理字串。 讓我們進一步探索。
在大括弧之間,您可以使用不止一個變數。 請嘗試下列程式代碼:
string firstFriend = "Maria";
string secondFriend = "Sage";
Console.WriteLine($"My friends are {firstFriend} and {secondFriend}");
字串大於字母集合。 您可以使用 Length
找到字串的長度。
Length
是字串的 屬性,它會傳回該字串中的字元數。 在互動式視窗底部新增下列程式代碼:
Console.WriteLine($"The name {firstFriend} has {firstFriend.Length} letters.");
Console.WriteLine($"The name {secondFriend} has {secondFriend.Length} letters.");
提示
現在是自行探索的好時機。 您已瞭解 Console.WriteLine()
輸出文字到螢幕。 您已瞭解如何宣告變數,並將字串串連在一起。 在互動式窗口中實驗。 視窗具有稱為 IntelliSense 的功能,可針對您可以執行的動作提出建議。 在 firstFriend
中的 d
後面輸入 .
。 您會看到可供使用之屬性和方法的建議清單。
您已使用 方法、Console.WriteLine來列印訊息。 方法 是實作某些動作的程式代碼區塊。 它有一個名稱,因此您可以存取它。
修剪
假設您的字串有您不想顯示的前置或尾端空格。 您要 移除 字串中的空格。 Trim 方法及其相關方法 TrimStart 和 TrimEnd 共同執行這項工作。 您可以只使用這些方法來移除開頭和結尾的空格。 請嘗試下列程式代碼:
string greeting = " Hello World! ";
Console.WriteLine($"[{greeting}]");
string trimmedGreeting = greeting.TrimStart();
Console.WriteLine($"[{trimmedGreeting}]");
trimmedGreeting = greeting.TrimEnd();
Console.WriteLine($"[{trimmedGreeting}]");
trimmedGreeting = greeting.Trim();
Console.WriteLine($"[{trimmedGreeting}]");
方括弧 [
和 ]
可協助可視化 Trim
、TrimStart,
和方法 TrimEnd
。 括弧會顯示空格元開始和結束的位置。
此範例強化了在處理字串時幾個重要的概念。 操作字串的方法會傳回新的字串物件,而不是就地進行修改。 您可以看到每個 Trim
方法的呼叫都會傳回新的字串,但不會變更原始訊息。
取代
還有其他方法可用來處理字串。 例如,您可能先前在編輯器或字處理器中使用搜尋和取代命令。
Replace 方法會在字串中執行類似動作。 它會搜尋子字串,並以不同的文字取代它。
Replace 方法接受兩個 參數。 這些參數是括號之間的字串。 第一個字符串是要搜尋的文字。 第二個字串是用來替代它的文本。 為自己試試看。 新增此程序代碼。 在您開始輸入 .Re
並在 sayHello
變數之後時,鍵入以查看提示。
string sayHello = "Hello World!";
Console.WriteLine(sayHello);
sayHello = sayHello.Replace("Hello", "Greetings");
Console.WriteLine(sayHello);
另外兩個有用的方法可以讓字串轉換為全大寫或全部小寫。 請嘗試下列程序代碼。 請輸入以查看 IntelliSense 如何在您開始輸入時提供提示 To
:
Console.WriteLine(sayHello.ToUpper());
Console.WriteLine(sayHello.ToLower());
搜尋字串
搜尋和取代 作業的另一部分是尋找字串中的文字。 您可以使用 Contains 方法來搜尋。 它會告訴您字串是否包含其中的子字串。 請試著下列程式代碼來探索 Contains:
string songLyrics = "You say goodbye, and I say hello";
Console.WriteLine(songLyrics.Contains("goodbye"));
Console.WriteLine(songLyrics.Contains("greetings"));
Contains 方法會傳回 布爾值 值,告知您是否找到搜尋的字串。
布爾值 會儲存 true
或 false
值。 當顯示為文字輸出時,它們會分別大寫:True
和 False
。 您可以在稍後的課程中深入瞭解 布爾值 值。
挑戰
有兩個類似的方法,StartsWith 和 EndsWith 也會搜尋字串中的子字串。 這些方法會在字串的開頭或結尾尋找子字串。 請嘗試修改先前的範例,以使用 StartsWith 和 EndsWith,而不是 Contains。 在字串開頭搜尋 「You」 或 「goodbye」。 在字串結尾搜尋 「hello」 或 「goodbye」。
注意
當您在測試字串末端的文字時,請注意標點符號。 如果字串以句號結尾,您必須檢查以句點結尾的字串。
您應該獲得 true
,若開頭是 "You" 且結尾是 "hello";若開頭或結尾是 "goodbye",則獲得 false
。
您是否想出了類似下列的內容(展開以查看答案):
您已完成 C# 教學課程的 「Hello C#」 簡介。 您可以選取 C# 教學課程中的 數字課程,以開始下一個互動式教學課程,或者您可以造訪 .NET 網站,以下載 .NET SDK、在您的電腦上建立專案並繼續撰寫程式碼。 「後續步驟」一節會帶您回到這些教學課程。
如需進一步閱讀 string
類型的資訊: