1. 程式人生 > >C#筆記整理

C#筆記整理

style ole 系統 位數 列表 方法 類型變量 目標 是否

裏氏轉換:

1.子類可以賦值給父類:如果有一個地方需要一個父類作為參數,我們可以給一個子類代替;

2.如果父類中裝的是子類對象,那麽可以將這個父類強轉為子類對象;

foreach循環:

foreach(var item in Txt)

{

Console.Write(item);

}

item:代表集合裏的每一項;in後面的:要遍歷的目標集合;

裝箱:值類型轉換為引用類型;

拆箱:引用類型轉換為值類型;

前提:兩者要有繼承關系;

------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

委托:是一種數據類型,像類一樣(可以聲明委托類型變量)

定義委托類型,註意定義委托時是否有返回值和參數,關鍵是看委托裏面存放的那個方法有沒有返回值和參數,要保持一致。

系統自帶泛型委托:

1.Action 無參數無返回值

擴展方法:Action<int> 參數是int類型,無返回值,只要是Action都是無返回值的

2.Func<int> 表示沒有參數 返回值是int;

Func<int,string> 表示的是參數是int,返回值是string。

只要是Func<>裏面有多個類型,最後一個永遠是返回值。

委托和事件的區別:

委托:可以用等號(=)來賦值,可以在外部進行調用,是一種數據類型。

事件:不可以用等號(=)來賦值,不可以在外部進行調用,不是數據類型,它修飾的是一個對象。

----------------------------------------------------------------------------------------------------------------------------------------------------------------------------

ToString("X2") 為C#中的字符串格式控制符 X為 十六進制 2為 每次都是兩位數

比如 0x0A ,若沒有2,就只會輸出0xA
假設有兩個數10和26,正常情況十六進制顯示0xA、0x1A,這樣看起來不整齊,為了好看,可以指定"X2",這樣顯示出來就是:0x0A、0x1A ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

在使用靜態構造函數的時候應該註意幾點:

  1、靜態構造函數既沒有訪問修飾符,也沒有參數。因為是.NET調用的,所以像public和private等修飾符就沒有意義了。
  
  2、是在創建第一個類實例或任何靜態成員被引用時,.NET將自動調用靜態構造函數來初始化類,也就是說我們無法直接調用靜態構造函數,也就無法控制什麽時候執行靜態構造函數了。

  3、一個類只能有一個靜態構造函數。

  4、無參數的構造函數可以與靜態構造函數共存。盡管參數列表相同,但一個屬於類,一個屬於實例,所以不會沖突。

  5、最多只運行一次。

  6、靜態構造函數不可以被繼承。

  7、如果沒有寫靜態構造函數,而類中包含帶有初始值設定的靜態成員,那麽編譯器會自動生成默認的靜態構造函數。

C#筆記整理