C#學習筆記-(1)程式基本架構、Hello World!、變數宣告

Josephine
5 min readJul 1, 2020

--

在學習程式時不管是課程、抑或是買書自學,不免俗地第一步總是要創造第一個程式:在螢幕上印 " Hello World! "。當我們在使用地表最強大IDE——Visual Studio時,開啟第一個程式就會幫我們內建好 Hello World! 所需要的程式基本架構與程式碼:

從第一行開始逐行看起:

using System;

以using來引用系統內建的命名空間 ”System”,概念就類似於其他語言如JAVA、python的import,可以匯入內建的或是自己寫過的函式庫。System含有很多基礎的類別,其中定義了我們常用的基礎資料型別 (Data Type)、事件(event)和事件處理常式、介面(interfaces)、屬性 (Attribute) 和例外狀況處理。

存取了命名空間之後,就不用在使用到該命名空間下的類別時,一一的在前面加上該命名空間的名字再打點了。

所以當我們引用了System後,就可以直接撰寫

Console.WriteLine("Hello World!"); 

而不用:

System.Console.WriteLine(“Hello, World!”);
namespace ConsoleApp1 {}

當建立一個專案時,預設會以專案名稱作為命名空間的名稱。Visual Studio預設名稱為ConsoleApp1,你也可以改成任何名稱方便識別。

在後面的大括弧{}(第4行~第12行)中,可以撰寫程式碼、或定義使用者定義型別(Type)。

class Program {}

定義類別名稱,Visual Studio預設名稱為Program,同樣地也可以改成任何名稱方便識別。

在後面的大括弧{}(第6行~第11行)中,可以定義屬性(Attribute)與方法(Method)。

static void Main(string[] args) {}

這是每個程式都需要Main Method,代表了程式的進入點。當C#的程式在執行時,都會從Main()開始編譯。

後面的大括弧{}(第8行~第10行)中的內容就是當程式啟動時,會跑的內容。

如果想要更深入了解 Main函式的寫法以及內容所代表的意義,可以 🔗點此觀看Microsoft的官方指南。

Console.WriteLine("Hello World!");

Console是什麼呢?

若你將Console一詞餵給Google進行翻譯,可能會得到「主控台、操縱台、控制台、儀表板」等等結果

但在這裡,Console是System此命名空間下的一個類別(class),表示主控台應用程式 (Console Application) 的標準輸入、輸出和錯誤資料流,也就是我們常聽到的I/O。

主控台應用程式 (Console Application) 又是什麼呢?

它是一種作業系統視窗,讓使用者能透過電腦鍵盤輸入文字,從電腦終端機讀取文字輸出,來與作業系統或以文字為基礎的主控台應用程式互動。

這樣解釋,可能讓人有點有看沒有懂,不如實作看看吧!

在 Windows 中,主控台就是所謂的「命令提示字元(Command Prompt)」,或你也可以在電腦裡搜尋 " cmd "

當我們在命令提示字元中輸入有效的指令,就能夠成功與它互動了!

舉例來說,可以試著輸入 ” calc ”、” control ” ,在幾秒內,我們就能成功的請電腦幫我們開啟了小算盤、控制台了

重新看剛剛的這句話:

它是一種作業系統視窗(命令提示字元),讓使用者能透過電腦鍵盤輸入文字,從電腦終端機讀取文字輸出(calc/control),來與作業系統或以文字為基礎的主控台應用程式互動(使電腦開啟小算盤/控制台)

是不是變得更簡單易懂了呢?

如果你還對於cmd的指令有興趣,不妨試著Google看看還有什麼指令吧!

命令提示字元 Command Prompt

回頭看看剛剛的程式碼:

Console.WriteLine(“Hello World!”);

剛剛說了Console是System下的一個掌管輸入輸出的類別,那麼後面的

WriteLine()就是Console下的一個方法(method)

我們可以在兩個雙引號之間輸入任何我們希望顯示出來的任何字,便能指使電腦原封不動將其印出。但我們也可以將資料儲存在變數中,並讓電腦印出該變數,得到一樣的結果。

若要將資料儲存在變數中,我們需要先進行「宣告」,有很多種方法可以進行宣告,簡單列舉幾個:

1. 資料型態 變數名稱

2. 資料型態 變數名稱 = 內容(初始值);

若要在一行內進行多個變數的宣告,也能以 , 做為區隔。

3. 資料型態 變數名稱1 , 變數名稱2 , 變數名稱3 … ;

4. 資料型態 變數名稱1 = 內容1 , 變數名稱2 = 內容2 ;

String greeting= “Hello World!”;     //宣告變數Console.WriteLine(greeting);

注意在這個時候,便不需要使用雙引號了!

前面我們之所以使用雙引號,是因為我們要告訴電腦「" "之間夾著的資料型態是字串」,但當以變數來操作時,在一開始便宣告了該資料的型態是字串string,故不用再以雙引號包起來了。如果不小心使用了,在螢幕上印出的就不會是 Hello World! 而是會跑出一字不差的 greeting 了。

--

--