【C#】C#學習筆記(持續更新)
阿新 • • 發佈:2018-12-11
本章比較雜亂,是本人在學習C#中的一些筆記,並不全面,只是一些隨筆。
1.一個 C# 程式主要包括以下部分:
名稱空間宣告(Namespace declaration) 一個 class Class 方法 Class 屬性 一個 Main 方法 語句(Statements)& 表示式(Expressions) 註釋
// using 關鍵字用於在程式中包含 System 名稱空間。 一個程式一般有多個 using 語句。 using System; //宣告一個名稱空間,在這裡HelloWorldApplication中只包含了一個HelloWorld類 namespace HelloWorldApplication { //類名 class HelloWorld { //一個Main方法,是所有 C# 程式的 入口點。 static void Main(string[] args) { /* 我的第一個 C# 程式*/ //在螢幕上打印出一行字 Console.WriteLine("Hello World"); //是針對 VS.NET 使用者的。這使得程式會等待一個按鍵的動作,防止程式從 Visual Studio .NET 啟動時螢幕會快速執行並關閉。 Console.ReadKey(); } } }
2.資料型別詳解
2.1 值型別
如果在實際使用過程中不記得當前資料型別的大小時,可以使用sizeof函式獲取。
Console.WriteLine("Size of int: {0}", sizeof(int));
執行結果為:
Size of int: 4
表示int型別能夠容納4個位元組,也就是32位的有符號整數型別。
2.2 引用型別
引用型別不包含儲存在變數中的實際資料,但它們包含對變數的引用。 換句話說,它們指的是一個記憶體位置。使用多個變數時,引用型別可以指向一個記憶體位置。如果記憶體位置的資料是由一個變數改變的,其他變數會自動反映這種值的變化。內建的 引用型別有:object、dynamic 和 string。
- 物件(Object)型別 物件(Object)型別 是 C# 通用型別系統(Common Type System - CTS)中所有資料型別的終極基類。Object 是 System.Object 類的別名。所以物件(Object)型別可以被分配任何其他型別(值型別、引用型別、預定義型別或使用者自定義型別)的值。但是,在分配值之前,需要先進行型別轉換。 當一個值型別轉換為物件型別時,則被稱為 裝箱;另一方面,當一個物件型別轉換為值型別時,則被稱為 拆箱。
object obj;
obj = 100; // 這是裝箱
- 動態(Dynamic)型別 您可以儲存任何型別的值在動態資料型別變數中。這些變數的型別檢查是在執行時發生的。 宣告動態型別的語法:
dynamic <variable_name> = value;
例如:
dynamic d = 20;
動態型別與物件型別相似,但是物件型別變數的型別檢查是在編譯時發生的,而動態型別變數的型別檢查是在執行時發生的。
- 字串型別 同java字串型別的宣告方式:
String str = "runoob.com";
但是前面可以加上@代表轉義字元:
在這裡插入程式碼片
2.3 指標型別(Pointer types)
指標型別變數儲存另一種型別的記憶體地址。C# 中的指標與 C 或 C++ 中的指標有相同的功能。 宣告指標型別的語法:
type* identifier;
3. C#的型別轉換
型別轉換分為顯式和隱式兩種,隱式不必多說,顯示也與java大致相同。
double d = 5673.74;
int i;
// 強制轉換 double 為 int
i = (int)d;
C#提供了一些內建的資料型別轉換方法:
方法 | 描述 |
---|---|
ToBoolean | 如果可能的話,把型別轉換為布林型。 |
ToByte | 把型別轉換為位元組型別 |
ToChar | 如果可能的話,把型別轉換為單個 Unicode 字元型別。 |
ToDateTime | 把型別(整數或字串型別)轉換為 日期-時間 結構。 |
ToDecimal | 把浮點型或整數型別轉換為十進位制型別。 |
ToDouble | 把型別轉換為雙精度浮點型。 |
ToInt16 | 把型別轉換為 16 位整數型別。 |
ToInt32 | 把型別轉換為 32 位整數型別。 |
ToInt64 | 把型別轉換為 64 位整數型別。 |
ToSbyte | 把型別轉換為有符號位元組型別。 |
ToSingle | 把型別轉換為小浮點數型別。 |
ToString | 把型別轉換為字串型別。 |
ToType | 把型別轉換為指定型別。 |
ToUInt16 | 把型別轉換為 16 位無符號整數型別。 |
ToUInt32 | 把型別轉換為 32 位無符號整數型別。 |
ToUInt64 | 把型別轉換為 64 位無符號整數型別。 |
例如:
bool b = true;
Console.WriteLine(b.ToString());
結果為:
True