Time of Update: 2018-12-03
http://lwbpeter.blog.163.com/blog/static/38508211201007105437493/近段時間做的一個三層架構+WCF+NHibernate的C/S項目,項目中的錯誤捕捉處理一直都很頭疼,今天終於找到了一個可以接受的方案。首先,在前台捕捉所有未處理線程的錯誤做統一處理。詳見:WinForm程式中未處理異常的解決方案其次,是WCF服務背景錯誤處理,在錯誤契約把錯誤回傳前台之前,把錯誤資訊記錄到錯誤記錄檔。可參見:WCF分布式開發步步為贏(15):錯誤契約
Time of Update: 2018-12-03
域和屬性一個類的資料成員變數可以有兩種方式:域(Field),屬性(Property).域作為資料成員變數可以被直接存取,而屬性不能直接進行訪問,必須通過訪問器進行訪問.域定義格式:域修飾符包括:public,protected,internal,private,static及readonly等.域的定義中如果加上了readonly修飾符,表明該域為唯讀域.對於唯讀域我們只能在域的定義中和它所屬類的建構函式中進行賦值.在其他情況下,域是唯讀.域又分為執行個體域和靜態域.執行個體域屬於具體的對象,
Time of Update: 2018-12-03
http://www.cnblogs.com/winnerlan/archive/2008/05/24/1206644.html對.NET類來說,一般的異常類 System.Exception派生於 System.Object。還有許多定義好的異常類(如:System.SystemException、System.ApplicationException等),他們又派生於 System.Exception
Time of Update: 2018-12-03
先從簡單的目標來分析這個大規模的C編譯器,畢竟它的功能比較複雜,並且來源程式的行數也是非常多的。因此,把簡單的目標定出來,然後再分析它,這樣才會有的放矢。接著再跟著編譯啟動並執行主線來分析它的來源程式。下面先看一下簡單的C例子,如下: #001 #include <stdio.h>#002 #003 int main(void)#004 {#005 int nTest1 = 1;#006 int nTest2 = 2;#007 int nTest3;#008 int i;#0
Time of Update: 2018-12-03
http://www.cnblogs.com/wuhuisheng/archive/2011/03/23/1992652.html驗證電話號碼的主要代碼如下: public bool IsTelephone(string str_telephone) { return System.Text.RegularExpressions.Regex.IsMatch(str_telephone,
Time of Update: 2018-12-03
http://blog.csdn.net/xiven/article/details/4422691c# SQL資料庫image圖片檔案的儲存於讀取 SqlConnection con = new SqlConnection("Persist Security Info=False;User id=sa;pwd=123;database=WDERPDATA_001;server=(local)"); con.Open();
Time of Update: 2018-12-03
摘自:http://www.afugame.com/club/dispbbs.asp?boardid=13&id=5236&page=1&move=nextSynchronized vs SyncRoot我們知道,在.net的一些集合類型中,譬如Hashtable和ArrayList,都有Synchronized靜態方法和SyncRoot執行個體方法,他們之間有聯絡嗎?我怎麼才能用好他們呢?我們以Hashtable為例,看看他們的基本用法: Hashtable ht =
Time of Update: 2018-12-03
註冊一個AppBar(什麼是AppBar?UsingApplication Desktop Toolbars),通過SHAppBarMessage向系統註冊AppBar,這樣,當有程式全屏運行時系統會向我們的程式發送訊息,在表單WndProc中處理即可。聲明要使用到的API和常量: public class APIWrapper { [DllImport("SHELL32", CallingConvention =
Time of Update: 2018-12-03
XmlWriter的工作方式類似於XmlReader,但順序相反。使用字串串連來快速建立Xml文檔和xml片段是非常迷人的,但我們應抵制這種誘惑。Xml是InfoSet的表示,不是角括弧。如果適用StringBuilder把字串字面串連在一起來建立xml,就把InfoSet降低為格式實現細節。記住xml文檔不是字串。XmlWriter還有一個設定類XmlWriterSettings。這個類包含縮排、換行、編碼、xml一致層級的選項。 Double price = 49.99;
Time of Update: 2018-12-03
is操作符:檢查一個對象是否相容於指定的類型並返回一個true或false。它不會拋出異常。如果對象引用為null,則is返回false。 如果所提供的運算式非空,並且所提供的對象可以強制轉換為所提供的類型而不會導致引發異常,則 is 運算式的計算結果將是 true。如果已知運算式將始終是 true 或始終是 false,則 is 關鍵字將導致編譯時間警告,但是,通常在運行時才計算類型相容性。不能重載 is 運算子。請注意,is
Time of Update: 2018-12-03
一 散列資料 代碼如下:private static string CalculateSHA512Hash(string input) { byte[] inputBytes = Encoding.UTF8.GetBytes(input); SHA512Managed sha512 = new SHA512Managed(); byte[] outputBytes =
Time of Update: 2018-12-03
經常會有項目需要把表格匯出為 Excel 檔案,或者是匯入一份 Excel 來操作,那麼如何在 C# 中操作 Excel 檔案成了一個最基本的問題。做開發這幾年來,陸陸續續也接觸過這樣的需求,但因為不頻繁,所以經常是遇到問題再去網上搜。最近的一個項目,要匯出的這個 Excel 涉及了很多比較偏僻的操作,所以決定在這裡開一篇文章,專門用來收集和整理使用到的代碼,以及一些技巧。如果各位看官有一些自己的心得,或者有更好的方案,也歡迎交流。我會時不時更新一下。 0.
Time of Update: 2018-12-03
模態表單(ShowDialog)開啟後,後面的主表單就不能做任何操作了。本部落格要實現非模態表單(show)實現模態表單(ShowDialog)的一些效果(主表單關閉,子表單也要關閉。子表單只能開啟一個。)同時,保留非模態表單的一些特性(主表單和子表單都能操作,比如文本的書寫等)。現實的一些用處:1、比如要在主表單中寫已有的內容,用子表單顯示這些已有的內容(一般資訊比較多,無法在主表單中用某個空間顯示完全)以供參考。2、直接點擊子表單中的資訊,在主表單中顯示出來。等等代碼如下:FormA----
Time of Update: 2018-12-03
一 使用xsd模式檔案驗證xml檔案:xml檔案:<?xml version="1.0" encoding="utf-8" ?><Books> <Book> <Title>ExampleTitle</Title> <Author>John Smith</Author> <Pages>500</Pages> </Book><Book>
Time of Update: 2018-12-03
(1)代碼區(text segment)用來存放程式的二進位代碼。代碼區指令根據程式設計流程依次執行,對於順序指令,則只會執行一次(每個進程),如果反覆,則需要使用跳轉指令,如果進行遞迴,則需要藉助棧來實現。代碼區的指令中包括作業碼和要操作的對象(或對象地址引用)。如果是立即數(即具體的數值,如5),將直接包含在代碼中;如果是局部資料,將在棧區分配空間,然後引用該資料地址;如果是BSS區(未初始化資料區)和資料區,在代碼中同樣將引用該資料地址。(2)全域資料區/待用資料區(Data
Time of Update: 2018-12-03
又好久沒寫blog了,最近一直忙工作的事情,倒不是說沒時間,而是沒什麼心思整理思路,這篇文章也不是什麼大不了的文章,但確實是我最近遇到的一個問題,我在調試一個程式的時候時不時出現一些莫名其妙的問題,這些問題也就是那種無規律重現的非常棘手的bug,相信做過開發的人都深有體會。當然我最後是fix了這些bug,對我這種高手而言,沒什麼修不了的錯誤,(哈哈)要的只是時間而已,但從中發現了一個C++編程的小問題,哦,順便提一下,其實到最後對你造成困擾的都是小問題。言歸正傳,看代碼:int main(int
Time of Update: 2018-12-03
Exception:所有異常對象的基類。SystemException:運行時產生的所有錯誤的基類。IndexOutOfRangeException:當一個數組的下標超出範圍時運行時引發。NullReferenceException:當一個Null 物件被引用時運行時引發。InvalidOperationException:當對方法的調用對對象的目前狀態無效時,由某些方法引發。
Time of Update: 2018-12-03
每一個進程都有自己的一組資源限制,在(*)inux系統中我們可以通過#include <sys/resource.h>int getrlimit(int resource, struct rlimit *rlim);int setrlimit(int resource, const struct rlimit *rlim);這2個API來取得和設定資源getrlimit用來取得setrlimit用來設定 這二個參數都需要一個要控制的資源
Time of Update: 2018-12-03
前言所有使用動態記憶體分配(dynamic memory allocation)的程式都有機會遇上記憶體泄露(memory leakage)問題,在Linux裡有三種常用工具來檢測記憶體泄露的情況,包括:mtracedmallocmemwatch1. mtracemtrace是三款工具之中是最簡單易用的,mtrace是一個C函數,在<mcheck.h>裡聲明及定義,函數原型為: void mtrace(void);其實mtrace是類似malloc_hook的 malloc
Time of Update: 2018-12-03
提要:《C++箴言:聲明為非成員函數的時機》闡述了為什麼只有non-memberfunctions(非成員 《C++箴言:聲明為非成員函數的時機》闡述了為什麼只有 non-member functions(非成員函數)適合於應用到所有 arguments(實參)的 implicit type conversions(隱式類型轉換),而且它還作為一個樣本使用了一個 Rational class 的 operator*