Time of Update: 2018-12-07
文章目錄 checked unchecked幾個注意參考資料 在C#中有一個關鍵字checked,它用來判斷當前上下文中的數值運算和數值轉換是否會溢出。如是是常量溢出,那在編譯時間就能發現;如果是變數溢出,那在運行時會拋出OverflowException。數值運算有:++ — - (unary) + - * / 有了這個就不用擔心資料溢出了。 checkedchecked
Time of Update: 2018-12-07
在很多代碼中看到,由於需要擷取一個路徑字串中的檔案名稱或者副檔名,很多程式員都用了c庫中的字串尋找函數來擷取。這樣子寫得代碼很多,也麻煩。 其實在VC中,可以用更好的方法來擷取。沒有什麼特別多說明,代碼如下: LPTSTR szfileName = new TCHAR[MAX_PATH]; GetModuleFileName(NULL, szfileName , MAX_PATH); // 擷取盤符、檔案名稱、副檔名等資訊 wchar_t
Time of Update: 2018-12-07
文章目錄 LONGLONG例子參考資料 在寫某個程式時,因為需要用到一個大的整數,就是要了LONGLONG型:LONGLONG nLarge;但是格式化時不知道應該用什麼字元,用 %d,%l都不行。 LONGLONGLONGLONG其實就是int64類型。在winnt.h可以看到:typedef __int64
Time of Update: 2018-12-07
文章目錄 Bug描述Why? 原因解決辦法參考資料 今天遇到一個bug,折騰了半天才解決掉,分享給大家。 Bug描述一位開發人員調用下面的代碼來建立一個註冊表索引值:HKEY hKey;if(::RegOpenKeyEx(HKEY_CURRENT_USER, DemoRegKey, 0, KEY_WRITE, &hKey) != ERROR_SUCCESS){ RegCreateKeyEx(HKEY_CURRENT_USER,
Time of Update: 2018-12-07
文章目錄 7zipSDK7zip SDK中的C++模組編譯7zxr.dll
Time of Update: 2018-12-07
靜態建構函式是C#的一個新特性。用於初始化待用資料,或用於執行僅需執行一次的特定操作。在建立第一個執行個體或引用任何靜態成員之前,將自動調用靜態建構函式。(在程式中,使用者無法控制何時執行靜態建構函式。) 樣本: using System;class A{ private static int count; static A() { count = 0; Console.WriteLine("Init A:" + count.ToString()); }
Time of Update: 2018-12-07
曾經看到過許多同事寫過一些類似於StringHelper類(封裝一些常用的字串操作方法的類),我自己也寫過類似的類,封裝一些拼接字串,比較字串,判斷字串等常用的字串操作方法。現在發現,這些方法中大部分都是多餘的,微軟已經為字串提供了許多常用的操作了,而且比自己寫的更強大,更容易使用。下面列舉一些常用的方法:Code highlighting produced by Actipro CodeHighlighter
Time of Update: 2018-12-07
CodeCode highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/-->//testCode:a.aspx//------------------------------------------------------------------- protected void Page_Load(object sender, EventArgs e) {
Time of Update: 2018-12-07
公司項目有可能採用C#編寫,如果用到,必然會涉及到多線程技術,基本的概念都是相同的,差別是具體的代碼。 在C#中,線程函數執行被封裝在類中,通過類對象的Start函數啟動線程執行函數。線程類Thread接受的是一個ThreadStart的delegate類型對象,具體代碼應該如下: Code highlighting produced by Actipro CodeHighlighter
Time of Update: 2018-12-07
C++中,只有在程式通過指向基類對象的指標或者基類對象的引用調用虛函數時,才會發生這個運行時的多態現象。對運行時的多態做出這樣的限制是經過深思熟慮的。 這個模型的含義可能不太明顯,特別是對象的建立和複製不是運行時多態的,這一點嚴重地影響了類的設計。所以,容易-無論是類似於數組或者結構體的內建容器還是使用者定義容器類——之智能獲得編譯時間類型已知的元素值。如果有一系列類之間存在繼承關係,當我們需要建立、複製和儲存物件,而這些對象的確切類型只有到運行時才能知道時,則這種編譯時間的檢查會帶來一些麻煩。
Time of Update: 2018-12-07
首先需要聲明一個程式集名稱, // specify a new assembly name var assemblyName = new AssemblyName("Kitty");從當前應用程式定義域擷取程式集構造器, // create assembly builder var assemblyBuilder = AppDomain.CurrentDomain .DefineDynamicAssembly(assemblyName,
Time of Update: 2018-12-07
1.選擇性參數可以為方法的參數設定一個預設值,如下:class Program { static voidMain(string[] args) { Show(); Show("cary"); Console.ReadLine(); } public static void Show(string msg = "") {
Time of Update: 2018-12-07
下面是比較早期寫的一個監控UDP接收的線例子: 1 //申明委託 2 public delegate void mydelegate(); 3 //添加調用控制的方法 4 public void outtext() 5 { 6 textBox1.Text = Read_str; 7 8 } 9 public void start_se
Time of Update: 2018-12-07
轉自第一開源網www.open001.comAggie Aggie 是一個案頭的新聞彙總器 (C#)更多Aggie資訊Aspect# Aspect# 就是castle.dynamicproxy的擴充,而castle.dynamicproxy得本質就是通過 reflection,emit,delegate,在運行時動態為非sealed類的virtual方法產生proxy類。Aspect#則是在此基 礎上定義了一套configuration
Time of Update: 2018-12-07
http://anony3721.blog.163.com/blog/static/5119742010728102932277/1、什麼是ArrayListArrayList就是傳說中的動態數組,用MSDN中的說法,就是Array的複雜版本,它提供了如下一些好處:動態增加和減少元素;實現了ICollection和IList介面;靈活的設定數組的大小。2、如何使用ArrayList最簡單的例子:ArrayList List = new ArrayList();for( int i=0;i<
Time of Update: 2018-12-07
Donet基礎類庫的System.Threading命名空間提供了大量的類和介面支援多線程。這個命名空間有很多的類,下面是Thread的資料。
Time of Update: 2018-12-07
關於C#中timer類 在C#裡關於定時器類就有3個 1.定義在System.Windows.Forms裡 2.定義在System.Threading.Timer類裡 3.定義在System.Timers.Timer類裡 System.Windows.Forms.Timer是應用於WinForm中的,它是通過Windows訊息機制實現的,類似於VB或 Delphi中的Timer控制項,內部使用API
Time of Update: 2018-12-07
話說Java裡有個很強大的關鍵字叫synchronized,可以方便的實現線程同步。今天異想天開,嘗試在C++裡類比一個類似的。 最近在學習C++的STL,看見智能指標這章節時,無不感歎利用語言的豐富特徵,來各種實現各種巧妙的構思。最經典的莫過於使用棧物件建構/解構函式,來維護局部資源的初始化和釋放。照著這個巧妙的方法,依樣畫葫蘆自己也來寫一個,來實現局部代碼線程同步。 Java裡的synchronized有兩種形式,一種是基於函數的,另種則是語塊的。前者受C++的文法所限,估計是沒法實
Time of Update: 2018-12-07
在搜尋關鍵詞高亮中一般的方法都是採用替換的辦法(Replace)這個方法有一個缺點就是不能區分大小寫問題。在網上找了找發現有人用Regex的方法來解決這個問題還真不錯,效率也比較高,歸納如下,有用得到的朋友可以一試。 //搜尋關鍵詞高亮顯示函數 public static string HighLightKeyWord(string pain,string keyword) { //搜尋關鍵詞高亮函數By JN 2006.11.30
Time of Update: 2018-12-07
1.什麼時候用委託: 當給一個方法傳遞的參數是方法,而不是資料的時候,要使用委託。如:多線程、事件、運行時才能確認的應用程式等。2.如何使用委託: 定義委託:(與類相同)delegate string GetAString(); 執行個體化:GetAString testString=new GetAString("test".ToString()); 運行: Console.Write(testString()); 類圖: System.Delegate |