Time of Update: 2017-01-13
代碼如下複製代碼 Server using System.Collections.Generic;using System.Text;using System.Net.Sockets;using System.Net;namespace SocketTest{ class Program { static void
Time of Update: 2017-01-18
這裡使用Atrribute的方式實現了Json字串向C#對象的轉變。因為功能局限,此版本只是針對於Json字串,如"response":"Hello","id":21231513,"result":100,"msg":"OK.";
Time of Update: 2017-01-18
在實際開發過程中,或者是第三方公司提供的資料表結構,與我們系統中的實體類欄位不對應,遇到這樣我們怎麼處理呢?可能有人會說,在轉換時建立一個實體物件,對錶裡的資料逐行遍曆來執行個體化這個實體物件不就完了。的確沒錯,這方法可行,但是這個方法效率極低,遇到億萬資料的話那就要執行個體化億萬個對象,由此可見它的效率了。先看一下我的實體類/// <summary>/// 具體的實體類,和資料表中不同/// </summary>public class Person{
Time of Update: 2017-01-18
//載入Excel public DataSet LoadDataFromExcel(string filePath) { try { string strConn; //strConn = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + filePath +
Time of Update: 2017-01-18
執行個體一:/// <summary> /// Datatable轉換為Json /// </summary> /// <param name="table">Datatable對象</param> /// <returns>Json字串</returns> public static string
Time of Update: 2017-01-17
觀察者模式(Observer):定義了一種一對多的依賴關係,讓多個觀察者對象同時監聽某一個主體對象。這個主題對象在狀態發生變化時,會通知所有觀察者對象,使它們能夠自動更新自己。模式實現:[code]//觀察者抽象基類class Observer{public: virtual void Update(int) = 0;};//主題、目標class Subject{public: virtual void Attach(Observer *) = 0; //重視
Time of Update: 2017-01-17
狀態模式(State):當一個對象的內在狀態改變時允許改變其行為,這個對象看起來像是改變了其類。 狀態模式主要解決的是當控制一個對象狀態轉換的條件運算式過於複雜時的情況。把狀態的判斷邏輯轉移到表示不同狀態的一系列類當中,可以把複雜的判斷邏輯化。模式實現:[code]class Context;class State{public: virtual void Handle(Context *pContext) = 0;};class ConcreteStateA: public State{
Time of Update: 2017-01-17
適配器模式(Adapter):將一個類的介面轉換成客戶希望的另外一個介面。Adapter模式使得原本由於介面不相容而不能一起工作的那些類可以一起工作。何時使用適配器模式:兩個類所做的事情相同或相似,但是具有不同的介面時需要它。雙方都不太容易修改的時候再使用適配器模式。模式實現:[code]//Targetclass Target{public: virtual void Request(){ std::cout <<
Time of Update: 2017-01-17
備忘錄模式(Memento):在不破壞封裝性的前提下,捕獲一個對象的內部狀態,並在該對象之外儲存這個狀態。這樣以後就可將該對象恢複到原先儲存的狀態。模式實現:[code]struct State{ wchar_t wcsState[260];};class Memento{public: Memento(State *pState): m_pState(pState) {} State *GetState() { return m_pState; }private:
Time of Update: 2017-01-17
組合模式(Composite):將對象組合成樹形結構以表示‘部分-整體’的階層。組合模式使得使用者對單個對象和組合對象的使用具有一致性。何時使用組合模式:
Time of Update: 2017-01-17
解譯器模式(Interpreter):給定一個語言,定義它的文法的一種表示,並定義一個解譯器,這個解譯器使用該表示來解釋語言中的句子。解譯器模式解決的問題:如果一種特定類型的問題發生的頻率足夠高,那麼可能就值得將該問題的各個執行個體表述為一個簡單語言中的句子。這樣就可以構建一個解譯器,該解譯器通過解釋這些句子來解決該問題。Regex就是它的一種應用,解譯器為Regex定義了一個文法和表示一個特定的Regex,以及如何解釋這個Regex。四個角色:AbstractExpression抽象運算式:聲
Time of Update: 2017-01-17
前言一切準備工作就緒時就先實現一個關注公眾號後向用戶端推送一條訊息。關注後推送訊息需要一個get請求、一個post請求,get請求主要是為了向伺服器驗證,post請求主要就是處理訊息了。 調介面時傳遞的appid和appsecret請傳遞自己公眾號對應的參數。事件互動事件互動主要是向伺服器推送XML資料包看代碼[HttpGet][ActionName("Index")]public ActionResult Get(string signature,string
Time of Update: 2017-01-16
對象的動態建立與釋放1 new和delete基本文法1)在軟體開發過程中,常常需要動態地分配和撤銷記憶體空間,例如對動態鏈表中結點的插入與刪除。在C語言中是利用庫函數malloc和free來分配和撤銷記憶體空間的。C++提供了較簡便而功能較強的運算子new和delete來取代malloc和free函數。注意:
Time of Update: 2017-01-13
本文執行個體講述了C#實現下載網頁HTML源碼的方法。分享給大家供大家參考之用。具體方法如下:public static class DownLoad_HTML{private static int FailCount = 0; //記錄下載失敗的次數 public static string GetHtml(string url) //傳入要下載的網址{string str = string.Empty;try{System.Net.WebRequest request =
Time of Update: 2017-01-13
最近,由於公司項目中需要將系統內使用者操作的所有日誌進行轉存備份,考慮到以後可能還需要還原,所以最後決定將日誌資料備份到Excel中。 下面是我項目當中Excel.cs這個類的全部代碼,通過這個類可以很容易地將DataTable中的資料匯入到Excel方法中。 首先,必須要下載NPOI.dll這個程式集, 類代碼如下: using System; using NPOI.HSSF; using NPOI.HPSF; using NPOI.HSSF.UserModel; using
Time of Update: 2017-01-13
(1)OleDB方式優點:將Excel直接當做資料來源處理,通過SQL直接讀取內容,讀取速度較快。缺點:讀取資料方式不夠靈活,無法直接讀取某一個儲存格,只有將整個Sheet頁讀取出來後(結果為Datatable)再在Datatable中根據行列數來擷取指定的值。當Excel資料量很大時。會非常佔用記憶體,當記憶體不夠時會拋出記憶體溢出的異常。讀取代碼如下: public DataTable GetExcelTableByOleDB(string strExcelPath, string
Time of Update: 2017-01-13
本文執行個體講述了C#.net編程建立Access檔案和Excel檔案的方法。分享給大家供大家參考,具體如下:一些系統可能需求把資料匯出到Access或者Excel檔案格式,以方便的傳遞資料、列印等。Excel 檔案或者 Access這兩種需要匯出的檔案可能並不是事先就存在的,這就需要我們自己編程產生他們,下面整理一下產生這兩個檔案的一些方法,只羅列最常用的。並不全。一、首先產生Excel檔案。方案一、如果用Excel儲存的只是二維資料,也就是把他當資料庫的來用。最簡單,你不用引用任何額外組件,
Time of Update: 2017-01-13
本文執行個體講述了C#使用Ado.Net更新和添加資料到Excel表格的方法。分享給大家供大家參考。具體分析如下:微軟NET提供了一個互動的方法,通過使用ADO.NET與Microsoft Office程式。內建的OLEDB提供可以用來操縱Excel的。xls試算表。您可以在Excel中建立一個命名的範圍確定表名,我們還需要欄位標題,如果試算表中不包含欄位標題,那麼你就需要將它們添加。如何在Excel中建立一個命名的範圍? 隨著試算表開啟,選擇你希望包括資料查詢,包括標題。
Time of Update: 2017-01-13
CheckCode.cs using System; using System.Data; using System.Configuration; using System.Web; using System.Web.Security; using System.Web.UI; using System.Web.UI.WebControls; using System.Web.UI.WebControls.WebParts; using System.Web.UI.HtmlControls;
Time of Update: 2017-01-13
第一個反映是驗證碼的這些屬性是否可以設定(也就是說是封裝成一個類,然後以暴露公有屬性和方法的方式來使用的,還是在直接在一般處理常式中實現了驗證碼的產生到輸出),結果比較可惜,是後者...... 裡面的演算法感覺挺不錯,至少對於我這種對演算法幾乎是不懂的人來說是這樣,於是想到去封裝一下她然後無恥地納入自己的類庫中去^^ 首先分析一下這份代碼中的不足(自己覺得的):