[C#, CSharp] 基礎成員
基礎成員
- 敘述(Statement):
- 主要的程式碼稱作敘述
- 只有以分號;結尾的程式碼才叫敘述
- 敘述區塊(Statement Block):
- 被大括號框住的程式碼通常稱為區塊或敘述區塊
- 回傳值:
- return後面接回傳值,回傳值會傳回給呼叫方法的地方
- main( )函式是由作業系統所呼叫,所以程式最後傳回0告訴作業系統已成功執行完程式
- 當方法回傳值給呼叫者(Calling Function)後,程式執行流程會轉到呼叫方法的地方,方法中return以下的敘述不會被執行到。
- 字元字串(Character String):
- 以雙引號"括住的字,又叫做訊息(message) 或字串字面(String Literal)如"Hello World!!!"
- 左值(lvalue):
- 放在運算子左邊的變數稱為左值
- 如果放在等號左邊,會牽涉到記憶體的變動
- 右值(rvalue):
- 放在運算子右邊的值
- 脫逸序列(Escape Sequence):脫逸序列是一些較特殊的字元,通常無法直接由鍵盤輸入,或是一些容易造成編譯時混淆的字元,由脫逸字元加上一個字元來代表。
- \ :脫逸字元(Escape Character)
- \n :換行
- \t :tab
- \r :將游標移到目前這一行的最前面
- \b :將游標後退一格
- \a :警告聲
- \\ :用來顯示反斜線\
- \' :用來顯示單引號
- \" :用來顯示雙引號
- 註解:用以輔助閱讀程式的說明文字,不會被處理及執行
- //:單行註解,//與換行符號間的字元不會被處理及執行
-
// 註解 class Program // 註解 { // 註解 }
-
- /* */:多行註解,/*與*/間的字元不會被處理及執行
-
/* 註解 */ class Program /* 註解 */ { /* 註解 */ }
-
- //:單行註解,//與換行符號間的字元不會被處理及執行
- 命名空間(Namespace):程式中可以使用命名空間來宣告範圍,以便區分名稱相同但功能不同的類別。
- C#的結構是由包含型別宣告和巢狀命名空間宣告的命名空間
- 例如使用的程式庫中剛好有和目前開發的程式同名的類別,就可以使用命名空間來區別要使用的是那個類別。
- namespace關鍵字可以用來宣告命名空間的名稱及其範圍
- 命名空間內可以再包含命名空間或類別(class)、結構(struct)、介面(interface)、列舉(enum)、委派(delegate)
- namespace 限定識別字 { 命名空間主體 } ;opt
-
namespace HelloWorld { class Program { static int Main(string[] args) { //在螢幕上顯示Hello World ConsoleAlias.WriteLine("Hello World!!"); return 0; } } }
- 使用using指示詞設定預設使用的命名空間,使程式開發時可以省略指定命名空間
- using 命名空間名稱;
-
using System; Console.WriteLine("Hello World!!");
或System.Console.WriteLine("HelloWorld");
- 類別(Class):
- 物件導向程式的基本單位,可以定義物件的屬性和行為
- 方法(Method):處理特定邏輯的程式碼區塊,達成物件行為的邏輯
- Main方法是一個特別的方法,CLR會自動找到Main方法,並由Main方法開始執行程式。
- Main方法的回傳值可以為void或int。
- Main方法必需為static且不可為public
- Main方法的簽章,必需為下列其中之一
static void Main() {...} static void Main() {string[] args) {...} static int Main() {...} static int Main()(string[] args) {...}
- 程式結束前若有物件還沒被回收,則系統會一一呼叫這些物件的解構函式。