Time of Update: 2018-12-06
來自:http://www.west263.com/www/info/34926-1.htm 在 c# 中,既可以通過值也可以通過引用傳遞參數。通過引用傳遞參數允許函數成員(方法、屬性、索引器、運算子和建構函式)更改參數的值,並保持該更改。若要通過引用傳遞參數,請使用 ref 或 out 關鍵字。為簡單起見,本主題的樣本中只使用了 ref 關鍵字。有關 ref 和 out 之間的差異的資訊,請參見、使用 ref 和 out 傳遞數組。本主題包括下列章節: 傳遞實值型別參數 傳遞參考型別參數
Time of Update: 2018-12-06
最近總是很懶,看書的時候不想動手。明知道編程這東西只是看是不行的,所以,還是要堅持把Demo進行到底~ 之前知道,建構函式在繼承關係中的執行順序是這樣的:首先執行基類的建構函式,而後才是要執行個體化的類本身。當然這裡的基類是個遞迴的過程,也就是說只要存在繼承關係,那就會一直遞迴到System.Object為止.
Time of Update: 2018-12-06
在ScheduledJob專案中,要用到很多自訂的DLL組件,為了保證啟動並執行效能,我們採用“緩衝”的方式對這些組件進行事先載入,待應用時在記憶體中既可找到對應的組件並運行,而無需每次都Load. 而這些組件隨時都可能有異動,可能新增,可能修改,此時要保證緩衝的內容也及時更新,就必須採取一種機制保證,這些組件表更時,能同時更新到記憶體緩衝中。 在C#中我們可以採用FileSystemWatcher組件實現。using System;using
Time of Update: 2018-12-06
單純的Timer應用其實不算複雜,幾個參數根據自己的情況設定就好了。如下面這段代碼: private void Run() { TimerCallback tcb = new TimerCallback(executeRun); //Timer在5秒中後(DueTime)開始執行,之後每隔1秒(Period)執行一次 Timer timer = new Timer(tcb, null, 5000, 1000);
Time of Update: 2018-12-06
在C#中,windows service專案編譯部署後,可以通過ServiceController在外部對此Windows service加以控制:可以停止,可以重新啟動等,也可以傳遞特定的指令給windows service,windows service接收到這些指令後,可以根據定義做些特定的事情。using System;using System.ServiceProcess;using System.Text;using System.IO;namespace
Time of Update: 2018-12-06
首先看看struct和class區別和相同點. 1.最大的不同在於資料類型不同,前者為實值型別,而後者為參考型別。 2.由於資料類型的不同,他們在記憶體中儲存的位置也不同,前者儲存在stack中,後者則Heap中; 3.由於儲存位置不同,存取速度就有很大差距.stack中資料肯定heap中要快很多. 4.class支援介面繼承,執行個體繼承,而struct只支援介面繼承. ...想不到了,先這樣吧. 5.除此之外,他們大體相同:只是關鍵字不同而已.
Time of Update: 2018-12-06
CLR提供兩種類型的屬性:無參屬性和帶參屬性。前者簡單的稱為屬性,後者在C#中通常稱作索引器。 無參屬性: 1.通常共有屬性和私人欄位結合,實作類別資訊的封裝。 2.可把屬性看做帶邏輯的欄位,保證了安全,操作方便。 3.CLR支援執行個體,靜態,抽象和虛屬性。 4.可以定義任意存取層級,也可以在介面中定義。 5.無參屬性含有一個名稱和傳回型別(不能為void),不能重載 6.當定義一個屬性時,中間代碼中實際上還是自動產生對應的ge
Time of Update: 2018-12-06
所有的類最終都繼承與System.Object 所以在繼承類中都會擁有Object的執行個體方法: 1.Equals 2.GetHashCode 3.ToString 4.GetType 5.MemberwiseClone. 6.Finalize 其中ToString() 藉助工具Reflector,可以看出其在Object中的定義: CodeCode highlighting produced by
Time of Update: 2018-12-06
我們經常進行的算術運算,比較運算實際上都是執行的一個重載運算子;但是他們只對應常見資料類型。而如果我們要對class,struct進行運算,會是什麼結果哪?編譯器不知道,只能有我們來重載這個操作.Demo:using System;using System.Collections.Generic;using System.Text;namespace ConstructorDemo{ //二元運算子的參數之一必須是包含類型 //參數有一個必須是所在類 //-=======
Time of Update: 2018-12-06
常量(Constant) 1.常量是在編譯期就確定不變的。 2.常量定義預設是靜態,顯式定義static將出現錯誤。 3.常量編譯後,就嵌套在中繼資料中,調用時,就從IL中尋找。所以不存在記憶體的分配,也找不到引用地址。 4.只有基元類型才能定義常量 欄位(Field) 1.欄位儲存的對象的引用,可以是任何類型。 2.可以顯示定義靜態欄位,此時在類型首次被載入時,被建立。 3.執行個體欄位的建立在類型建立執行個體
Time of Update: 2018-12-06
這幾個符號說來也多多少少的用過,今天就根據ProC#的講述來總結一下: IS: 檢查變數類型是否與指定類型相符,返回True ,False.不報錯. 老實說,我沒怎麼用過。看看下面的執行個體代碼,很容易理解: int i = 100; if (i is object) //ture or false { Response.Write("i is object</br>"); }
Time of Update: 2018-12-06
基底類型 之前有過這樣的疑惑:int 和System.Int32有什麼不同?實際上System.Int32是再FCL中的定義,多數編譯器對於此等類型都有自己的定義,他們和FCL中的定義自動建立映射關係。如C#中System.Int32就映射為int. 所以我們可以很方便的用int
Time of Update: 2018-12-06
Enumerted
Time of Update: 2018-12-06
1.Class的可見度分為public和internal. public:在任意assembly中可見,internal:僅在所在Assembly中可見。 如果不做定義,預設為Internal. 2.成員的存取層級 存取層級的定義在C#和CLR中的定義有所不同。 CLR術語C#術語PrivateprivateFamilyprotectedFamily and
Time of Update: 2018-12-06
在設計類的成員的時候,盡量適用屬性而不是欄位(資料成員)。使用屬性的優勢有以下幾點: 1.資料安全性檢查:可在給屬性賦值時候,進行安全性檢查,即時拋出異常 2.屬性可以是抽象的:在繼承類中進行重寫 3.屬性可在介面中定義:在繼承類中實現。結合第二點,均可以滿足類的設計的彈性需求 4.可利用屬性進行索引器的定義和適用:經常用在集合類的定義中 5.由於代碼內斂的方式被編譯器採用,採用屬性效能並不比資料成員差多少。 簡單程
Time of Update: 2018-12-06
曾經有過一次面試,要寫:"貓叫,老鼠跑,主人醒"的程式,只記得要考察委託和事件,卻沒能寫出來。 用委託和事件來處理當然很方便,但是現在象這樣的問題,都會用到設計模式(觀察者模式)來處理。自然是從靈活度上來考慮。因為不懂設計模式,暫時就簡單的複習一下Delegate and Event吧~
Time of Update: 2018-12-06
avascript 指令碼,有個 escape 和 unescape ,在做URL傳遞等的情況下, 用的比較多到了.NET裡面, 在 C# 和 VB.NET 下, 仍然有很多人想使用這種功能, 但是卻找不到簡易的實現 其實,大家在用 .NET 的時候, 都注重於 C# 和 VB.NET 了, 而忽略了還有一個 Jscript.NET,這個jscript.net 就完全支援 jscript 的功能, 當然也就支援 escape 和 unescape 以及其他的 js 函數和功能了。在 C#
Time of Update: 2018-12-06
項目間隔時做的,有點無聊。。。概述
Time of Update: 2018-12-06
接上文 WebService伺服器 上一部分我們已經對資料庫部分的結構做了完整的說明,其實有了資料庫的結構之後,這個WebService層次的功能,也僅是對資料庫的調用了,也就是相當於封裝了一些外層的介面,實現用戶端與資料庫的串連,下面對主要介面做一下詳細的說明,並且在程式中,會用到我以前發表的ZRCMS架構的內容,如果遇到這方面的程式,請參考我以前的文章: 1. 登入 登入是指使用者根據登入名稱及密碼登入到伺服器,主要調用代碼如下: [WebMethod] public
Time of Update: 2018-12-06
文章目錄 概述