Time of Update: 2018-12-07
目錄一、什麼是Windows 服務?二、建立Windows 服務與安裝/卸載批處理。三、調試Windows 服務。本文一、什麼是Windows 服務?答:Microsoft Windows 服務(即,以前的 NT 服務)使您能夠建立在它們自己的 Windows
Time of Update: 2018-12-07
流概念 流失位元組序列的抽象概念,如檔案的操作,輸入/輸出裝置,內部進行通訊的管道等,Stream類及其衍生類別提供這些不同類型的輸入和輸出的一般視圖,這樣的程式員就不必熟悉作業系統和基礎裝置的具體細節,也可以對流進行操作。流常用的三個基本操作:1. 讀取流:操作是從流到資料結構的資料轉送2. 寫入流:該操作時從資料結構到流的資料轉送3. 流支援尋找:尋找是對流內的當前位置進行查詢與修改以上三個功能可以通過CanRead
Time of Update: 2018-12-07
Time of Update: 2018-12-07
在c++中,為瞭解決一些頻繁調用的小函數大量消耗棧空間或者是叫棧記憶體的問題,特別的引入了inline修飾符,表示為內嵌函式。 可能說到這裡,很多人還不明白什麼是棧空間,其實棧空間就是指放置程式的局部資料也就是函數內資料的記憶體空間,在系統下,棧空間是有限的,如果頻繁大量的使用就會造成因棧空間不足所造成的程式出錯的問題,函數的死迴圈遞迴調用的最終結果就是導致棧記憶體空間枯竭。 下面我們來看一個例子:#include <iostream> #include <string&g
Time of Update: 2018-12-07
Cache用法之頁面聲明<%@ outputCacheDuration="#ofseconds"Location="Any|Client|Downstream|Server|None"VaryByControl="ControlName"VaryByCustom="browser|customstring"VaryByHeader="headers"VaryByParam="Parametername" %>Cache用法之代碼控制HttpCachePolicy類是專門用來控制項Ca
Time of Update: 2018-12-07
我們在用c#調用delphi 或者Vc寫的dll檔案時,如果他們不是com+類型的dll檔案,就要用託管帶來的形式來調用。例如: [DllImport("ScCard.dll", CallingConvention = CallingConvention.StdCall)] public static extern int GerCard(string pConnect, int Count, int id);
Time of Update: 2018-12-07
1.當使用postbackurl向目標頁提交參數的時候可以使用以下方法。DropDownList d = (DropDownList)PreviousPage.FindControl(""); 2. cookie的使用 //種cookie HttpCookie cookie = new HttpCookie("myCookie"); cookie.Values.Add("mystate", "123");
Time of Update: 2018-12-07
我始終認為,對一個初學者來說,IT界的技術風潮是不可以追趕的,而且也沒有能力去追趕。我時常看見自己的DDMM們把課本扔了,去賣些價格不菲的諸如C#, VB.Net 這樣的大部頭,這讓我感到非常痛心。而許多搞不清指標是咋回事的BBS站友眉飛色舞的討論C#裡面可以不用指標等等則讓我覺得好笑。C#就象當年的ASP一樣,“忽如一夜春風來,千樹萬樹梨花開”,結果許多學校的資訊學院成了“Web 學院”。96,97級的不少大學生都去做Web
Time of Update: 2018-12-07
在同事的部落格上面看到一個關於用C#拆分跟合并GIF圖片的文章,不過看完發現只是寫了如何拆分GIF圖片而已- -!由於自己也感興趣於是找了一下相關資料,自己敲了點代碼,記錄一番先。 首先看下把GIF圖片拆分成多張JPG的代碼。C#.NET中提供的Image類結合FrameDimension類其實已經可以做到這一點了,具體代碼如下(這裡我是寫了一個WinForm查詢來測試,是在一個名為button1的按鈕中實現這一功能的):c#代碼?1234567891011121314151617
Time of Update: 2018-12-07
今天在做項目的時候,由於要批量產生儲值卡,儲值卡的密碼是隨機產生,結果在程式運行時,儲值卡的密碼幾乎都是一樣的,於是手動調試,調試生產的密碼又不一樣,納悶半天,仔細一想,隨機可能是以時間為種子,於是就換了個全域的Random ,再運行程式,一切正常: 分析:出現相同的原因: Random是根據時間產生隨機數的,在實際啟動並執行時候,沒有斷點,所以兩句話執行的時間間隔非常短,無法被計時器識別,所以用的是一個相同的時間做的種子,就得到了相同的隨機數
Time of Update: 2018-12-07
文章目錄 Feedback 索引器是一種特殊的類成員,它能夠讓對象以類似數組的方式來存取,使程式看起來更為直觀,更容易編寫。1、索引器的定義C#中的類成員可以是任意類型,包括數組和集合。當一個類包含了數組和集合成員時,索引器將大大簡化對數組或集合成員的存取操作。定義索引器的方式與定義屬性有些類似,其一般形式如下:[修飾符] 資料類型this[索引類型 index]{get{//獲得屬性的代碼}
Time of Update: 2018-12-07
前面一篇博文:從C#5.0說起:再次總結C#非同步呼叫方法發展史,總結了非同步方法呼叫調用的發展史。關於C#2.0到5.0添加了一些什麼東西,前面一篇博文中如下寫到:1.0版本 - 基本C#文法。2.0版本 - 泛型的支援,CLR進行了升級,從根本上支援了運行時泛型。3.0版本 - LINQ,添加了from / join等類SQL關鍵字,添加了擴充函數,添加了編譯期動態類型var關鍵字。4.0版本 - dynamic關鍵字,CLR進行升級,加入DLR,開始對動態進行友好的支援。同時加入動態參數、
Time of Update: 2018-12-07
using System;using System.Collections.Generic;using System.Windows.Forms;using System.IO;namespace GobalException{ static class Program { /// <summary> /// 應用程式的主進入點。 /// </summary> [STAThread]
Time of Update: 2018-12-07
這幾天看了不少C#方面的知識,感覺看了之後一段時間後就忘了,特寫個備忘,免得忘了又要從頭找起. 定義:Reflection,通過它我們可以在運行時動態獲得各種資訊,如程式集、模組、類型、欄位、屬性、方法和事件 自己參考資料後寫的代碼:using System;using System.Collections.Generic;using System.Text;using System.Reflection;namespace Refelction{ class
Time of Update: 2018-12-07
在公司這幾天一直都在看程式設計模式,看完的之後感覺還是似懂非懂,但心得還是頗多,程式設計中使用的原則有一條:面向介面編程,而且在設計過程中,要保證能在可以很方便的對程式進行拓展,而且不用改動現有的程式.下面是我自己設計的一個抽象工作模式,不知道我的理解是否正確. using System;using System.Collections.Generic;using System.Text;namespace 抽象原廠模式{ class Program {
Time of Update: 2018-12-07
與所有的 out 參數一樣,在使用數群組類型的 out 參數前必須先為其賦值,即必須由被呼叫者為其賦值。 static void TestMethod1(out int[] arr){ arr = new int[10]; // definite assignment of arr} 與所有的 ref 參數一樣,數群組類型的 ref 參數必須由調用方明確賦值。因此不需要由接受方明確賦值。可以將數群組類型的 ref 參數更改為調用的結果。例如,可以為數組賦以 null 值,
Time of Update: 2018-12-07
裝箱是將實值型別轉換為 object 類型或由此實值型別實現的任一介面類型的過程。當 CLR 對實值型別進行裝箱時,會將該值封裝到 System.Object 內部,再將後者儲存在託管堆上。unboxing將從對象中提取實值型別。在下面的樣本中,整型變數 i 裝箱並賦給對象 o。int i = 123;object o = (object)i; // boxing o = 123;i = (int)o; //
Time of Update: 2018-12-07
1、選擇排序class SelectionSorter { private int min; public void Sort(int[] arr) { for (int i = 0; i < arr.Length - 1; ++i) { min = i; for (int j = i + 1; j < arr.Length; ++j)
Time of Update: 2018-12-07
猜猜看以下程式的輸出是什麼?using System;using System.Windows.Forms;namespace Skyiv.Ben.Test{ sealed class MainTest { static void Main() { Label lblOut = new Label(); lblOut.Text = null; Console.WriteLine("{0} {
Time of Update: 2018-12-07
大家在實際工作學習C#的時候,可能會問:為什麼我們要為一些已經存在的功能(比如Windows中的一些功能,C++中已經編寫好的一些方法)要重新編寫代碼,C#有沒有方法可以直接都用這些原本已經存在的功能呢?答案是肯定的,大家可以通過C#中的DllImport直接調用這些功能。 DllImport所在的名字空間 using System.Runtime.InteropServices;