Monitor對象 1.Monitor.Enter(object)方法是獲取鎖,Monitor.Exit(object)方法是釋放鎖,這就是Monitor最常用的兩個方法,當然在使用過程中為了避免獲取鎖之后因為異常,致鎖無法釋放,所以需要在try{} catch(){}之后 ...
一 Delegate委托可以理解為一個方法簽名。 可以將方法作為另外一個方法的參數帶入其中進行運算。在C 中我們有三種方式去創建委托,分別如下: 二 Event事件,是一種封裝過的委托。 它擁有以下三要素: .事件發行者 達到某些條件時激發事件的對象 .事件訂閱者 訂閱事件並對事件發生時進行處理的對象 .定義發行者和訂閱者關系,一個發行者可能會有多個訂閱者。 三 事件和委托的區別 .委托允許直接 ...
2013-05-21 11:29 6 15414 推薦指數:
Monitor對象 1.Monitor.Enter(object)方法是獲取鎖,Monitor.Exit(object)方法是釋放鎖,這就是Monitor最常用的兩個方法,當然在使用過程中為了避免獲取鎖之后因為異常,致鎖無法釋放,所以需要在try{} catch(){}之后 ...
event是一種特殊簽名格式的delegate,event的定義必須在類內,delegate可以脫離類的存在。 event的引發是通過調用委托實現的,而委托不僅僅用來實現事件的引發。 通過加入event關鍵字,在編譯的時候編譯器會自動針對事件生成一個私有的字段(與此事件相關 ...
event是一種特殊的delegate,定義它們的類里邊,這二者是一樣的,既可以采用 += 和-=的運算符號,也可以調用,但是在這個類之外,它們是不同的。 同為public類型,對於delegate,我們在定義它的類外,不僅可以采用 += 和-=的運算符號,還可隨時調用;但是對於event,在類 ...
在本文中將從基礎角度講解HashTable、Dictionary的構造和通過程序進行插入讀取對比。 一:HashTable 1.HashTable是一種散列表,他內部維護很多對Ke ...
C#中如何合理的釋放非托管內存?在本文中我們將講解使用IDisposable釋放托管內存和非托管內存。 A.首先需要讓類實現IDisposable接口,然后實現IDispose方法。 A.a核心Disponse(bool isDisponse) 1.此方法首先判斷 ...
clr基本 CLR(Common Language Runtime)是一個可由多種編程語言使用的“運行時”。(例如:c#,c++/cli,vb,f#,ironpython,ironruby,il...) CLR的核心功能內存管理、程序集加載、安全性、異常處理、線程同步、泛型、尾調用 ...
代碼原則 1.職責單一原則,封閉開發原則 2.枚舉類型最好不要用 數字表示 3.代碼要可配置,可擴展 初級1.抽象類,接口的區別抽象類需要被繼承,不能實例化,子類必須實現其抽象方法,抽象方法沒有方法體,是為了子類不要忘記寫某個方法而出現的接口看成是抽象類的補充(子類實現基類中的所有 ...
一、引言 今天在論壇中看到一位朋友提出這樣的一個問題,問題大致(問題的鏈接為:http://social.msdn.microsoft.com/Forums/zh-CN/52e6c11f-ad28-4633-a434-fc4d09f4d23d )是這樣的: 大家先不要去 ...