原创 Main方法

每一個C#程序都必須有一個入口點,一個必須叫做Main的方法,Main必須總是聲明爲static,Main方法共有4種形式作爲程序的入口點。 前面倆種形式在程序終止後都不返回值給執行環境,後面倆種形式則返回int值,如果使用返回值,通常

原创 is as運算符

is 在C#中有些轉換時不成功的,並且在運行時拋出一個InvalidCastException異常,我們可以使用is運算符來檢查轉換是否會成功完成,從而避免盲目嘗試轉換,表達式:Expr is TargetType  Expr是源表達式,

原创 異步(async、await)

同步與異步 同步:如果一個程序調用某個方法,等待其執行所有處理後才繼續執行,我們就稱這樣的方法是同步的,這是默認的形式異步:異步的方法在處理完成之前就返回到調用方法,C#的async/await特性可以創建並使用異步方法。 async/a

原创 成員訪問修飾符(public、private、protected、internal、protected internal)

與C++相同,成員的可訪問性描述了類成員的可見性,在類中必須對每個成員指定訪問級別,如果不指定某個成員的訪問級別,它的隱式訪問級別爲private,成員不能比它的類有更高的可訪問性,也就是說,如果一個類的可訪問性限於它所在的程序集,那麼類

原创 枚舉器(IEnumerator)、可枚舉類(IEnumerable)的實現來完成遍歷(foreach)

之所以數組可以使用foreach來遍歷裏面的值,原因是數組可以按需提供一個叫做枚舉器的對象,枚舉器可以依次返回請求的數組中的元素,對於有枚舉器的類型而言,獲取一個對象枚舉器的方法時調用對象的GetEnumerator方法,實現GetEnu

原创 析構函數、dispose模式

析構函數書寫規則 在C#3.0發佈之前,析構函數有時也叫終結器(finalizer) (1)每個類只能有一個析構函數 (2)析構函數不能有參數 (3)析構函數不能有訪問修飾符 (4)析構函數名稱與類名相同,但要在前面加一個~ (5)析構函

原创 可空類型(?)、空接合運算符(??)、三元運算符(?:)、NULL檢查運算符(?.)

可空類型修飾符(?) 可空類型允許我們創建一個值類型變量並且可以標記爲有效或無效,這樣我們就可以有效的把值類型設置爲“null”,在處理數據庫和其他包含可能未賦值的元素的數據類型時,將null賦值給數值類型或布爾類型的功能特別有用,例如數

原创 擴展方法(static靜態類中靜態函數的參數使用this修飾)

在迄今爲止的內容中,每個方法都和聲明它的類關聯,擴展方法特性擴展了這個邊界,允許編寫的方法和聲明它的類之外的類關聯 class MyData { private double D1; pr

原创 並行循環

並行庫(Task Parellel Library)是BCL中的一個類庫,它極大地簡化了並行編程,其中有倆個簡單的結構爲Parallel.For和Parallel.ForEach循環,這倆個結構位於System.Threading.Tas

原创 數組、多維數組、交錯數組以及與C++中數組的不同

數組是引用類型,數組實例是從System.Array繼承的對象,與對象創建表達式不一樣,數組創建表達式不包括( ),數組一旦創建,大小就固定了,C#不支持動態數組。Rank:返回數組的維度數的屬性Length:返回數組長度(數組中所有元素

原创 用戶自定義轉換(隱式implicit、顯式explicit)

除了標準轉換,我們還可以爲類和結構定義隱式(implicit)和顯式(explicit)轉換。 用戶自定義轉換的約束 implicit(隱式轉換) class Person { public stri

原创 C#自帶類庫沒有註釋問題

新安裝的vs2019,打開項目的時候查找程序集接口時,發現失去了對應的中文註釋,但調整項目屬性中的目標框架後,發現設置爲目前最高的4.7.2框架則可以正常查看類庫註釋。 但設置爲4.5框架的時候,就失去了註釋,通過對比倆個文件夾下的文

原创 溢出檢測checked、unchecked

顯示轉換可能會丟失數據並且不能在目標類型中同等地表示源值,對於整數類型,C#給我們提供了選擇運行時是否應該在進行類型轉換時檢測結果溢出的能力,這將通過checked運算符和checked語句來實現,如果我們指定一個表達式或一段代碼爲che

原创 結構struct

C#中的struct與C++中的struct,有很大不同,在C#中class是引用類型,struct卻是值類型,在棧上分配實例,struct是密封的,這意味着它們不能被繼承,和所有值類型一樣,結構類型變量含有自己的數據,因此struct類

原创 屬性、屬性的=>寫法

屬性是代表類的實例或類中的一個數據項成員,使用屬性看起來像寫入或讀取一個字段,屬性是指定的一組倆個匹配的、稱爲訪問器的方法,set訪問器爲屬性賦值,get訪問器從屬性獲取值。並且,除了這倆個訪問器外,在屬性上不允許有其他方法。 屬性與字段