原创 C# 處理非託管資源

代碼實例 public class BaseResource : IDisposable { // 非託管資源 private IntPtr _handle; //託管資源 private Component _c

原创 知識點整理

1、接口可以包含方法、屬性、事件、索引器或這四種成員類型的任意組合。 接口不能包含常量、字段、運算符、實例構造函數、終結器或類型。 接口成員會自動成爲公共成員,不能包含任何訪問修飾符。 成員也不能是靜態成員。若要實現接口成員,實現

原创 C#默認的修飾符

1、直接聲明在命名空間下的類和結構體,默認是internal的 2、類和結構體的成員,包括內嵌的類和結構體,默認是private的 3、接口默認是internal的 4、enum的成員是public的訪問權限 5、類的成員,默認是

原创 C#中的協變和抗變

.NET4通過協變和抗變爲泛型接口和泛型委託添加了一個重要擴展。協變和抗變指對參數和返回值的類型進行轉換。 在.NET中,參數類型是協變的。假定有 shape和 Rectangle 類,Rectangle 派生自shape基類。聲

原创 C#中結構體和類的區別

1、結構與類的區別是他們在內存中的存儲方式、訪問方式(類是存儲在堆(heap)上 的引用類型,而結構是存儲在棧(stack)上的值類型)。 較小的數據類型使用結構可提高性能。 但在語法上,結構與類非常相似,主要的區別是使用關鍵字

原创 .Net體系結構

有一個很重要的問題需要弄明白:C#就其本身而言只是一種語言,儘管它是用於生成面向.NET環境的代碼,但它本身不是.NET的一部分。.NET支持的一些特性,C#並不支持。而C#語言支持的另一些特性,.NET卻不支持(如運算符重載)。

原创 C#中const、readonly、static區別

1、C#中有兩種常量類型,分別爲readonly(運行時常量)與const(編譯時常量),本文將就這兩種類型的不同特性進行比較並說明各自的適用場景。 工作原理 readonly動態常量也稱爲運行時常量,程序運行時進行賦值,賦值完成後便

原创 設計模式-創建型-單例模式

創建型模式就是用來創建對象的模式,抽象了實例化的過程。 單例模式確保某一個類只有一個實例,並提供一個全局訪問點。解決的是實體對象個數的問題,而其他的創建型模式都是解決new所帶來的耦合關係問題。 適用性: (1)當類只能有一個實例而且

原创 設計模式-創建型-工廠模式

工廠模式包含三種,簡單工廠模式,工廠方法模式,抽象工廠模式。這三種都是解決了一個問題,那就是對象的創建問題。他們的職責就是將對象的創建和對象的使用分離開來。 針對接口編程,可以隔離掉以後系統可能發生的一大堆改變,爲什麼呢?如果代碼是針

原创 關於基類和子類構造函數執行順序問題

1、當實例化一個子類時,父類以及子類的變量和構造函數的執行順序如下: 01子類的靜態變量->02子類的靜態構造函數->03子類的變量->04父類的靜態變量(此時因爲要執行子類的構造函數,會與父類發生關係)->05父類靜態構造函數->0

原创 VUE.js

1、指令的職責是,當表達式的值改變時,將其產生的連帶影響,響應式地作用於 DOM。 2、指令參數 一些指令能夠接收一個“參數”,在指令名稱之後以冒號表示。 … 在這裏 href 是參數,告知 v-bind 指令將該元素的 href 特

原创 WPF筆記

1、Dispatcher 由於UI界面是主線程創建的,所以子線程不能直接更新由主線程維護的UI界面 Dispatcher,即調度程序,在每個線程中都唯一存在,負責線程中數據的各項操作。例如線程A創建了實例I,則線程B就不能直接去更新I

原创 js中||和&&用法整理

短路原理 即通過最短路徑達到目的(不需要把所有條件都執行和判斷)。 javascript中的 &&(邏輯與) 和 || (邏輯或)都遵循短路原理。 1、|| 運算符 先看幾個例子: var x = 0||1; //1 0意味着fa

原创 null與undefined的區別?

1、首先看一個判斷題:null和undefined 是否相等 console.log(null==undefined)//true console.log(null===undefined)//false 觀察可以發現:null和u

原创 學習

近年來,從事JavaScript的程序員越來越多,JavaScript的曝光率也越來越高,如果你想轉行試試JavaScript,不妨收下這份面試題及答案,沒準用得上。當然,如果針對這些問題,你有更棒的答案,歡迎移步至評論區。 1、什麼