C#利用sharpziplib的方法淺析

C#語言有很多值得學習的地方,這裡我們主要介紹C#利用sharpziplib,包括介紹壓縮和解壓縮的兩個類,分別為 ZipClass和UnZipClass等方面。在做項目的時候需要將檔案進行壓縮和解壓縮,於是就從http://www.icsharpcode.net下載了關於壓縮和解壓縮的源碼,但是下載下來後,面對這麼多的代碼,一時不知如何下手。只好耐下心來,慢慢的研究,總算找到了門路。針對自己的需要改寫了檔案壓縮和解壓縮的兩個類,分別為

C#下的BitArray類:實現索引器和位操作

System.Collections命名空間下的BitArray相當於一個bool類型的數組bool[]。MSDN用 BitArray做例子實現了一個索引器,今天研究了一下這個例子,對原來的實現做了一些改變 ,將>> 5操作變成了mod 32,敝人以為這樣看起來會更直觀。代碼如下:public class MyBitArray  {    private int[] m_Bits;    private int m_Length;    public MyBitArray(int

C#發現之旅第十四講 基於動態編譯的VB.NET指令碼引擎(下)

主表單中還定義了諸如Function_New,Function_Open,Function_Save等等函數用於實現 對文檔的建立、開啟檔案和儲存檔案等處理。而工具條上的按鈕就是調用這些功能函數。定 義這些功能函數的代碼如下/// <summary>/// 執行建立文檔 /// </summary>public bool Function_New(){   

C#發現之旅第十四講 基於動態編譯的VB.NET指令碼引擎(上)

指令碼的原理指令碼,也可稱為宏,是一種應用系統二次開發的技術,它能在應用系 統提供的一個容器環境中運行某種程式設計語言,這種程式設計語言代碼調用應用系統提供的編程接 口,使得應用系統暫時“靈魂附體”,無需使用者幹預作而執行一些自動的操作, 此時應用系統稱為“宿主”。指令碼也採用多種程式設計語言,比如JavaScript 語言,VBScript語言或者其他的,若採用VB則稱為VB指令碼。下圖為指令碼原理圖下圖為常 規編程開發軟體的原理圖

C#發現之旅:WinForm.NET中開發具有固定背景圖片的可滾動控制項

在WinForm.NET開發中,可以使用一個Panel或UserControl作為一個帶捲軸的容器放置 圖形或其他控制項。我們可以設定控制項的BackgroundImage屬性來設定控制項的背景圖片,但這個 背景圖片是會隨著控制項內容的滾動而滾動的,而且還出現背景破碎的不良效果。現筆者在開 發實踐中遇到控制項的背景圖片不隨著控制項的滾動而滾動。在B/S開發中,開發人員可以

C#發現之旅:C#開發Windows Service程式(下)

類似的對於“停止服務”,其點擊事件處理為private void btnStopService_Click(object sender, EventArgs e){    if (bolServiceInstalled == false)        return;    using (System.ServiceProcess.ServiceController control = new

C#發現之旅:C#開發Windows Service程式(上)

Windows Service概念介紹Windows Service,也稱Windows服務,是32位Windows 作業系統中一種長期啟動並執行背景程式。它們長期後台運行,沒有使用者介面,默默無聞,但它 們卻是支援Windows正常啟動並執行幕後英雄,卻永無出頭之日。Windows服務程式為其他 系統模組提供了非常重要的服務,而且各個Windows服務分工明確,比如IISAdmin服務提供 WEB內容的發布功能,若IISAdmin服務不啟動,則靜態HTML頁面、ASP、ASP.NET或者

C#發現之旅第十二講 基於反射和動態編譯的快速ORM架構(下)

對於字串類型的屬性,其預設值就是“DBNull”。而對於其他的整數或者日 期類型的屬性,並沒有預設值,因此是無條件的插入到資料庫中。我們使用以下的代 碼來產生上述代碼文本myWriter.WriteLine("public override int  FillInsertCommand( System.Data.IDbCommand cmd , object objRecord )");myWriter.BeginGroup("{"

C#發現之旅第十二講 基於反射和動態編譯的快速ORM架構(上)

動態編譯技術所謂動態編譯技術就是應用程式在運行時,程式內部自動的產生C# 代碼,然後調用.NET架構提供的C#程式編譯器產生臨時的程式集,然後將暫存程序集載入到 應用程式定義域中動態調用其中的對象模組。動態編譯技術內部調用了代碼產生器。以 前我們是在編程時使用代碼產生器產生代碼文檔,然後添加到C#工程中,然後進行整體編譯 ,此時我們是手工的使用代碼產生器,這個過程可以稱為靜態編譯。而動態編譯技術卻是將

C#發現之旅第十一講 使用反射和特性構造自己的ORM架構(下)

在InnerReadValue函數中遍曆所有的屬性綁定資訊,調用IDataReader.GetValue函數從資料庫中獲得未經處理資料,然後調用FieldBindInfo.FromDataBase函數對這個未經處理資料進行一些處理,主要是進行格式化和資料類型轉換,然後調用PropertyInfo.SetValue函數根據讀取的資料設定對象執行個體的屬性值。這樣遍曆了所有的綁定資訊也就完整的填充了對象執行個體的屬性值。在ReadObjects函數中,遍曆所有查詢的資料,對每個記錄建立一個對象執行個

C#多線程學習(五)多線程的自動管理(定時器)

Timer類:設定一個定時器,定時執行使用者指定的函數。定時器啟動後,系統將自動建立一個新的線程,執行使用者指定的函數。初始化一個Timer對象:Timer timer = new Timer(timerDelegate, s,1000, 1000);// 第一個參數:指定了TimerCallback 委託,表示要執行的方法;// 第二個參數:一個包含回調方法要使用的資訊的對象,或者為空白引用;// 第三個參數:延遲時間——計時開始的時刻距現在的時間,單位是毫秒,指定為&

C#發現之旅第十一講 使用反射和特性構造自己的ORM架構(上)

ORM背景在資料庫界,主流的資料庫都是關係型資料庫,其採用的關係型資料結構模型,無論從數學上還是實踐中都相當的成熟,得到非常廣泛的應用。在關係型資料結構理論中,所有的資料都組織成一個個相互獨立的二維表格,一個資料表有若干行若干列。因此關係型資料庫適合儲存大量的結構簡單的資料,不適合儲存複雜的資料結構。在編程界,物件導向的編程思想及其派生思想佔據主流。物件導向的編程思想具有封裝,繼承,重載等手段來方便的實現比較複雜的資料結構,這適應了現代資訊系統包含大量複雜資料結構的特點。因此物件導向的編程思想得

C#多線程學習(四)多線程的自動管理(線程池)

在多線程的程式中,經常會出現兩種情況:一種情況:應用程式中,線程把大部分的時間花費在等待狀態,等待某個事件發生,然後才能給予響應這一般使用ThreadPool(線程池)來解決;另一種情況:線程平時都處於休眠狀態,只是周期性地被喚醒這一般使用Timer(定時器)來解決;ThreadPool類提供一個由系統維護的線程池(可以看作一個線程的容器),該容器需要 Windows 2000

C#發現之旅第十講 文件物件模型

為了讓大家更深入的瞭解和使用C#,我們將開始這一系列的主題為“C#發現之旅 ”的技術講座。考慮到各位大多是進行WEB資料庫開發的,而所謂發現就是發現我們所 不熟悉的領域,因此本系列講座內容將是C#在WEB資料庫開發以外的應用。目前規劃的主要內 容是圖形開發和XML開發,並計劃編排了多個課程。在未來的C#發現之旅中,我們按照由淺入 深,循序漸進的步驟,一起探索和發現C#的其他未知的領域,更深入的理解和掌握使用C#進

C#多線程學習(二)如何操縱一個線程

下面我們就動手來建立一個線程,使用Thread類建立線程時,只需提供線程入口即可。(線程入口使程式知道該讓這個線程幹什麼事)在C#中,線程入口是通過ThreadStart代理(delegate)來提供的,你可以把ThreadStart理解為一個函數指標,指向線程要執行的函數,當調用Thread.Start()方法後,線程就開始執行ThreadStart所代表或者說指向的函數。開啟你的VS.net,建立一個控制台應用程式(Console Application),編寫完全控制一個線程的程式碼範例:

C#發現之旅第七講 C#圖形開發進階篇

為了讓大家更深入的瞭解和使用C#,我們將開始這一系列的主題為“C#發現之旅 ”的技術講座。考慮到各位大多是進行WEB資料庫開發的,而所謂發現就是發現我們所 不熟悉的領域,因此本系列講座內容將是C#在WEB資料庫開發以外的應用。目前規劃的主要內 容是圖形開發和XML開發,並計劃編排了多個課程。在未來的C#發現之旅中,我們按照由淺入 深,循序漸進的步驟,一起探索和發現C#的其他未知的領域,更深入的理解和掌握使用C#進

C#線程系列講座(1):BeginInvoke和EndInvoke方法

開發語言:C#3.0IDE:Visual Studio 2008本系列教程主要包括如下內容:1. BeginInvoke和EndInvoke方法2.

C#子線程的控制項操作問題解析

有關C#子線程的控制項操作一般來說,直接在子線程中對表單上的控制項操作是會出現異常,這是由於子線 程和運行表單的線程是不同的空間,因此想要在子線程來操作表單上的控制項,是 不可能簡單的通過控制項對象名來操作,但不是說不能進行操作,微軟提供了

超酷的映像效果 (附demo; C#完成)

如果您覺得C#製作的藝術字比較好玩, 但是還覺得沒看夠,不過癮,那麼我今天就讓您一飽眼福, 看看C#如何製作的效果超酷的映像.(注: 我之前曾寫過類似的文章, 但沒有原理說明, 代碼注釋不夠詳細, 也沒有附相應的 Demo...因此如果您覺得好像哪看過類似的文章可以看看我之前寫的...)為了示範後面的效果, 這裡有必要先讓大家看看今天的原始圖片: ISINBAEVA ~~~~~~~~一. 底片效果原理: GetPixel方法獲得每一點像素的值,

基於私密金鑰加密公開金鑰解密的RSA演算法C#實現

RSA演算法是第一個能同時用於加密和數位簽章的演算法,也易於理解和操作。 RSA是被研究得最廣泛的公開金鑰演算法,從提出到現在已近二十年,經曆了各種攻擊的 考驗,逐漸為人們接受,普遍認為是目前最優秀的公開金鑰方案之一。RSA的安全性依 賴於大數的因子分解,但並沒有從理論上證明破譯RSA的難度與大數分解難度等價 。RSA的安全性依賴於大數分解。公開金鑰和私密金鑰都是兩個大素數( 大於 100 個十進位位)的函數。據猜測,從一個密鑰和密文推斷出明文的難度等同於分解

總頁數: 4314 1 .... 2895 2896 2897 2898 2899 .... 4314 Go to: 前往

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.