從第一行開始逐行看起:
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看看還有什麼指令吧!
回頭看看剛剛的程式碼:
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 了。