1. 程式人生 > >【C#】C#學習筆記(持續更新)

【C#】C#學習筆記(持續更新)

本章比較雜亂,是本人在學習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。

  1. 物件(Object)型別 物件(Object)型別 是 C# 通用型別系統(Common Type System - CTS)中所有資料型別的終極基類。Object 是 System.Object 類的別名。所以物件(Object)型別可以被分配任何其他型別(值型別、引用型別、預定義型別或使用者自定義型別)的值。但是,在分配值之前,需要先進行型別轉換。 當一個值型別轉換為物件型別時,則被稱為 裝箱;另一方面,當一個物件型別轉換為值型別時,則被稱為 拆箱
object obj;
obj = 100; // 這是裝箱
  1. 動態(Dynamic)型別 您可以儲存任何型別的值在動態資料型別變數中。這些變數的型別檢查是在執行時發生的。 宣告動態型別的語法:
dynamic <variable_name> = value;

例如:

dynamic d = 20;

動態型別與物件型別相似,但是物件型別變數的型別檢查是在編譯時發生的,而動態型別變數的型別檢查是在執行時發生的。

  1. 字串型別 同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

4. 常量

4.1 整數常量