c#教程[1] 簡介
本文初次釋出於個人部落格,建議去個人部落格閱讀。
前言
本系列教程是為了我在學校社團課使用而隨手寫的,因此可能有很多隨意或不嚴謹的地方,而且隨時有可能停更,請見諒。
因為高一學校的資訊課學習 pyhton
,因此預設讀者有微弱的 pyhton
基礎,故基礎語法可能會講的稍微快一些而且會與 pyhton
的語法進行比較。
簡介
C#是微軟推出的一種基於.NET框架的、面向物件的高階程式語言。C#是一種由C和C++派生出來的面向物件的程式語言。它在繼承C和C++強大功能的同時去掉了一些它們的複雜特性,使其成為C語言家族中的一種高效強大的程式語言。C#以.NET框架類庫作為基礎,擁有類似Visual Basic的快速開發能力。C#由安德斯·海爾斯伯格主持開發,微軟在2000年釋出了這種語言,希望藉助這種語言來取代Java。[1]
第一個C#程式
大家先來看一個在VS2019裡新建C#控制檯應用生成的預設程式(程式碼中的 //
表示單行註釋):
using System;
namespace ConsoleApp // ConsoleApp為名稱空間(namespace)
{
class Program // Program是一個"類"(class)
{
static void Main(string[] args) // Main方法
{
Console.WriteLine("Hello World!"); // 輸出語句
}
}
}
讓我們看一下上面程式的各個部分:[2]
程式的第一行 using System; - using 關鍵字用於在程式中包含 System 名稱空間。 一個程式一般有多個 using 語句。
下一行是 namespace 宣告。一個 namespace 裡包含了一系列的類。名稱空間包含了類 Program。
下一行是 class 宣告。類 Program 包含了程式使用的資料和方法宣告。類一般包含多個方法。方法定義了類的行為。在這裡,Program 類只有一個 Main 方法。
下一行定義了 Main 方法,是所有 C# 程式的 入口點。Main 方法說明當執行時 類將做什麼動作。
Main 方法通過語句
Console.WriteLine("Hello World!");
指定了它的行為。WriteLine 是一個定義在 System 名稱空間中的 Console 類的一個方法。該語句會在螢幕上顯示訊息 "Hello World!"。
最後一行
Console.ReadKey();
是針對 VS.NET 使用者的。這使得程式會等待一個按鍵的動作,防止程式從 Visual Studio .NET 啟動時螢幕會快速執行並關閉。
大家可能會覺得,這樣比在 python
中輸出 "hello world"
要繁瑣很多,這樣的設計看似沒有必要,但實際上在大型的專案裡能展現出它的優勢[3]
簡單的來說,名稱空間包含類,類包含方法。
大家目前只需要注意一下 Program
類和 Main
方法。
在 C#
中方法的概念與其他語言中函式的意思區別不大,大家可以理解成函式。
而類的真正概念我們會在以後再講。
Main
方法被包含在 Program
類中,而我們的程式總會從 Main
方法開始執行。
在語句 Console.WriteLine("Hello World!");
中, Console
也是一個類,而 WriteLine()
則為 Console
類中的一個方法,中間的 .
表示訪問 Console
類中的成員[4],此處訪問的即為該類中的WriteLine()
方法。
大家可以注意到一個有意思的現象,我們的 Main
方法也是被包含在一個類中的。事實上,在 C#
中方法的宣告一定在一個類的內部。
因為我們目前只看主函式部分,所以以後會將上面那段程式碼寫成如下的形式:
using System;
Console.WriteLine("Hello World!"); // 輸出語句
事實上,這樣類似 python
的程式碼是 .net5.0
中的新特性:頂級語句。這樣的程式在 .net5.0執行時
是可以通過編譯並正常執行的。