Time of Update: 2017-02-27
as 運算子類似於類型轉換,所不同的是,當轉換失敗時,as運算子將產生空,而不是引發異常。在形式上,這種形式的運算式:expression_r as
Time of Update: 2017-02-27
前一陣做了個編譯器(僅詞法分析、文法分析、部分語義分析,所以說是前端),拿來分享一下,如有錯 誤,歡迎批評指教!整個程式碼程式庫具有如下功能:提供編譯器所需基礎資料結構、計算流程架構 類,可供繼承使用;提供基礎資料結構的可視化控制項;提供類似YACC的詞法分析器、文法分析 器自動產生功能;提供Winform程式,整合和擴充上述功能,方便研究和應用。本文及其後續 系列將逐步給出所有工程原始碼(visual studio 2010版本)。上圖展示一下先。圖1 詞法、文法分析和結點匹配圖2
Time of Update: 2017-02-27
這是最近在做的一個項目中提到的需求,把一個現有的表單應用程式介面嵌入到自己開發的表單中來,看 起來就像自己開發的一樣(實際上……跟自己開發的還是有一點點區別的,就是內嵌程式和宿主程式的視窗激 活狀態問題)。在codeproject找到了一篇相關的文章 (http://www.codeproject.com/Articles/9123/Hosting-EXE-Applications-in-a-WinForm-project),雖然
Time of Update: 2017-02-27
簡介圖表示點之間的關係,在C#中通過節點對象的集合來表示點(Vertex),用鄰接矩陣(adjacency matrix)來表示點之間的關係。下面來看C#實現。PS:本片文章是我複習的筆記,代碼注釋很全。勿吐槽。表示點的對象下面實現代碼:class Vertex { publicstring Data; publicbool IsVisited; public Vertex(string Vertexdata) {
Time of Update: 2017-02-27
有了上一節中得到的Regex,那麼就可以用來構造 NFA 了。NFA 可以很容易的從Regex轉換而來,也有助於理解Regex表示的模式。一、NFA 的表示方法在這裡,一個 NFA 至少具有兩個狀態:首狀態和尾狀態,如圖 1 所示,Regex t 對應的 NFA 是 N(t),它的首狀態是 H,尾狀態是 T。圖中僅僅畫出了首尾兩個狀態,其它的狀態和狀態間的轉移都沒有表示出來,這是因為在下面介紹的遞迴演算法中,僅需要知道 NFA 的首尾狀態,其它的資訊並不需要關心。圖 1 NFA
Time of Update: 2017-02-27
Regex是一種描述詞素的重要表示方法。雖然Regex並不能表達出所有可能的模式(例如“由等數量的 a 和 b 組成的字串”),但是它可以非常高效的描述處理詞法單元時要用到的模式類型。一、Regex的定義Regex可以由較小的Regex按照規則遞迴地構建。每個Regex r 表示一個語言 L(r),而語言可以認為是一個字串的集合。Regex有以下兩個基本要素:是一個Regex, L()=,即該語言只包含空串(長度為 0 的字串)。如果 a 是一個字元,那麼 a
Time of Update: 2017-02-27
放心,這次不是說設計模式中的代理模式,說的是C#的RealProxy的用法,主要用於:通過給class 貼標籤,讓class做更多的工作,比如判斷是否存在緩衝,有則直接返回緩衝object,沒有則儲存為緩 存,等待下次請求是可以更快的擷取資料(當然這隻是其中一種常用用途,MVC的Action就是採用這種 方式)下面是順序圖表:.Net Object Generation interceptor屬於.NET自身行為,不需要額外寫代碼。Code
Time of Update: 2017-02-27
12.
Time of Update: 2017-02-27
11. stddef.h標頭檔stddef提供了一些標準定義。其中很多定義也會出現在其他標頭檔中。宏:NULLoffsetof();類型:typedef ptrdiff_ttypedef size_ttypedef wchar_t11.1. 變數和定義ptrdiff_t是相減兩個指標的結果。size_t是無符號整型。wchar_t是一個具有寬字元常量大小的整型.NULL是null 指標常量值。offsetof(type,
Time of Update: 2017-02-27
7.
Time of Update: 2017-02-27
在進行檔案儲存體或者資料轉送時,為了節省空間的流量,需要對資料或檔案進行壓縮。在這裡我們講述 通過C#實現資料壓縮。一、GZipStream壓縮微軟提供用於壓縮和解壓縮流的方法。此類表示 GZip 資料格式,它使用無損壓縮和解壓縮檔案的行業標準演算法。 這種格式包括一個檢測 資料損毀的迴圈冗餘校正值。 GZip 資料格式使用的演算法與 DeflateStream 類的演算法相同,但它可以擴 展以使用其他壓縮格式。
Time of Update: 2017-02-27
我們經常使用下載工具,如bit精靈、迅雷、FlashGet,這些軟體都支援斷點續傳。斷點續傳即下載任務暫停後可以繼續,而無需重新下載,即下載時需要通知伺服器的起始位置。如果 允許多線程進行分區下載,必須提供起始-截止位置。說到底就是可以選擇下載某個片段,整個檔案的字 節流,可以截取流的片段,也能實現流的累積,最終完成檔案下載。一、原理在 HTTP/1.1裡新增的一個頭屬性:Range,也是現在眾多號稱多線程下載工具(如 FlashGet、迅雷
Time of Update: 2017-02-27
#region 發送xml檔案給指定網址 /// <summary> /// 發送xml檔案給指定網址 /// </summary> /// <param name="v_strURL">目標Url</param> /// <param name="v_objXMLDoc">需要發送的資料(XmlDocument格式的)</param> ///
Time of Update: 2017-02-27
一.為什麼需要全域鍵盤監聽?在某些情況下應用程式需要實現快速鍵執行特定功能,例如大家熟知的QQ截圖功能Ctrl+Alt+A快速鍵,只要QQ程式在運行(無論是擁有焦點還是處於後台運行狀態),都可以按下快速鍵使用此功能...這個時候在程式中添加鍵盤監聽肯定不能滿足需求了,當使用者焦點不在App上時(如最小化,或者使用者在處理其它事物等等)鍵盤監聽就失效了二.怎樣才能實現全域鍵盤監聽?這裡需要用到Windows
Time of Update: 2017-02-27
1、什麼時候使用多線程?這個問題,對於系統架構師、設計者、程式員,都是首先要面對的一個問題。在什麼時候使用多線程技術?在許多常見的情況下,可以使用多執行緒來顯著提高應用程式的響應能力和可用性。上一章,我們講了幾個多線程的應用案例,主要的應用情境也做了介紹。這裡不再贅述。http://www.cnblogs.com/yank/p/3232955.html2、如何才能保證安全執行緒?使用多線程,這是一個必須要弄清的問題。只有瞭解了多線程對結構和程式的影響,才能真正會使用 多線程,使其發揮應有的效果。
Time of Update: 2017-02-27
在應用程式中使用多個線程的一個好處是每個線程都可以非同步執行。對於 Windows 應用程式,耗時 的任務可以在後台執行,而使應用程式視窗和控制項保持響應。對於伺服器應用程式,多執行緒提供了 用不同線程處理每個傳入請求的能力。否則,在完全滿足前一個請求之前,將無法處理每個新請求。然 而,線程的非同步特性意味著必須協調對資源(如檔案控制代碼、網路連接和記憶體)的訪問。否則,兩個或更 多的線程可能在同一時間訪問相同的資源,而每個線程都不知道其他線程的操作。"如果覺得有用,請幫頂!
Time of Update: 2017-02-27
無論您是為具有單個處理器的電腦還是為具有多個處理器的電腦進行開發,您都希望應用程式為 使用者提供最好的響應效能,即使應用程式當前正在完成其他工作。要使應用程式能夠快速響應使用者操作 ,同時在使用者事件之間或者甚至在使用者事件期間利用處理器,最強大的方式之一是使用多線程技術。多線程:線程是程式中一個單一的順序控制流程程.在單個程式中同時運行多個線程完成不同的工 作,稱為多線程。如果某個線程進行一次長延遲操作, 處理器就切換到另一個線程執行。這樣,多個線
Time of Update: 2017-02-27
/// <summary> /// 將字串(符合xml格式)轉換為XmlDocument /// </summary> /// <param name="xmlString">XML格式字串</param> /// <returns></returns> public XmlDocument ConvertStringToXmlDocument(string xmlString) { XmlDocument
Time of Update: 2017-02-27
首先我們需要安裝Windows 8以及VS2012,下載地址:http://msdn.microsoft.com/zh- CN/windows/apps/br229516/然後我們開啟VS2012,選擇Windows Metro Style,然後選擇建立Blank App項目如下圖:其建立完成的項目結構如下:我 們拖動一個按鈕和ListBox到介面中,設定按鈕事件以及ListBox的DataTemplate,如下Xaml代碼:<Grid
Time of Update: 2017-02-27
前言本文的重要部分:1、抓包擷取QQ空間或者郵箱登陸地址,分析參數,使用者名稱,密碼, 驗證碼,gtk,隨即數。2、擷取每次登陸需要的驗證碼3、使用者名稱,密碼,驗證碼加密得到登 陸密碼4、Http類比登陸拿cookie本文實驗的思路也可換另一種方式,抓包擷取登陸的js,用代 碼操作js來計算密碼 ,gtk等實現登陸。抓包1、我們來訪問qq空間的地址http://i.qq.com/