Time of Update: 2016-12-21
標籤:使用 括弧 string類 格式 意義 alt wchar 資料類型 length 動態串StringBuilder與String類相比,System.Text.StringBuilder
Time of Update: 2016-12-22
在方法聲明中只允許一個paras關鍵字,並且該關鍵字只能為最後一個。using System; /****************************** * Chapter:C#痛點逐個擊破(三) * Author:王洪劍 * Date:2010-1-16 * Blog:http://www.51obj.cn/ * Email:walkingp@126.com * Description:數組參數params的使用 * ***************************/
Time of Update: 2016-12-22
傳值(by value)與傳址(by reference)分別為普通傳遞參數方式與ref聲明方式,傳址方式在使用前需要ref關鍵詞修飾;out為輸出返回傳遞,與ref相同之處較多,其重要區別是在上一節講到的ref在被引用方法中必須被初始化;out在被引用方法中一定要有傳回值。 using System; /****************************** * Chapter:C#痛點逐個擊破(一) * Author:王洪劍 * Date:2010-1-15 * Blog:http:/
Time of Update: 2016-12-22
需要添加對 System.Management.dll 的引用 using System.Diagnostics; using System.Management;static void Main(string[] args) { foreach (Process p in Process.GetProcesses()) { Console.Write(p.ProcessName); Console.Write("----");
Time of Update: 2016-12-22
c# 調用.bat檔案 使用命名空間:using System.Diagnostics; System.Diagnostics.Process.Start(Server.MapPath("ah.bat")); ===================================================================== 副檔名是bat(在nt/2000/xp/2003下也可以是cmd)的檔案就是批次檔
Time of Update: 2016-12-22
郵件發送 方法一:使用System.Web.Mail命名空#region 發送郵件:此方法失敗 protected void SendFailed() { System.Web.Mail.MailMessage mail = new System.Web.Mail.MailMessage(); mail.From = "test@ gmail.com"; mail.To = " test@ gmail.com "; mail.Subject =
Time of Update: 2016-12-22
其中第二級目錄包含了五個預定義主鍵分別是:HKEY_CLASSES_ROOT,HKEY_CURRENT_USER,HKEY_LOCAL_MACHINE,HKEY_USERS,HKEY_CURRENT_CONFIG。下面我們來分別解釋這5個類的作用 HKEY_CLASSES_ROOT該主鍵包含了檔案的副檔名和應用程式的關聯資訊以及Window
Time of Update: 2016-12-21
exPRession代表你希望跟蹤的對象,通常是對象引用。一般地,如果你想保護一個類的執行個體,你可以使用this;如果你希望保護一個靜態變數(如互斥程式碼片段在一個靜態方法內部),一般使用類名就可以了。而statement_block就是互斥段的代碼,這段代碼在一個時刻內只可能被一個線程執行。 下面是一個使用lock關鍵字的典型例子,我將在注釋裡向大家說明lock關鍵字的用法和用途://lock.cs using System; using
Time of Update: 2016-12-21
在這裡我們要注意的是其它線程都是依附於Main()函數所在的線程的,Main()函數是C#程式的入口,起始線程可以稱之為主線程,如果所有的前台線程都停止了,那麼主線程可以終止,而所有的後台線程都將無條件終止。而所有的線程雖然在微觀上是串列執行的,但是在宏觀上你完全可以認為它們在並存執行。讀者一定注意到了Thread.ThreadState這個屬性,這個屬性代表了線程運行時狀態,在不同的情況下有不同的值,於是我們有時候可以通過對該值的判斷來設計程式流程。ThreadState在各種情況下的可能取值
Time of Update: 2016-12-21
下面我們就動手來建立一個線程,使用Thread類建立線程時,只需提供線程入口即可。線程入口使程式知道該讓這個線程幹什麼事,在C#中,線程入口是通過ThreadStart代理(delegate)來提供的,你可以把ThreadStart理解為一個函數指標,指向線程要執行的函數,當調用Thread.Start()方法後,線程就開始執行ThreadStart所代表或者說指向的函數。開啟你的VS.net,建立一個控制台應用程式(Console
Time of Update: 2016-12-21
一.多線程的概念Windows是一個多任務的系統,如果你使用的是windows
Time of Update: 2016-12-21
.Net為我們應用事件定義了標準的模式,我們在應用過程中應遵守定義事件的規則。一個標準的事件模式包括四個方面的內容:1、 一個繼承自System.EventArgs類型的事件資訊類,並且這個類的名稱以EventArgs結尾,如SendMailEventArgs,這個類負責儲存事件來源發送給事件監聽者的資訊。如果事件來源不需要給事件監聽者傳遞額外的資訊,可以直接使用EventArgs.Empty,這時我們就不用再去定義自己的事件資訊類了。2、
Time of Update: 2016-12-21
首先先讓我們瞭解一下什麼是觀察者模式,觀察者模式是對象的行為型模式,又叫依賴/從屬者模式、發布-訂閱模式、源-監聽模式。觀察者模式:定義了對象間的一種一對多的依賴關係,當一個對象的狀態發生改變時,所有依賴於它的對象都得到通知並被自動更新(GOF)。如我們的項目中有一個郵件系統,當發送郵件時可能需要傳送簡訊和RTX語音總機郵件接收者,這時就可以用觀察者模式進行設計,如果以後還需要增加第三種通知方式,那麼我們的系統會很容易的把新通知方式加入進來。觀察者模式在C#中應用的也很多,最常見的就是我們用到各
Time of Update: 2016-12-21
this.currentposition = this.dataGridView1.BindingContext [this.dataGridView1.DataSource, this.dataGridView1.DataMember].Position; bookContent = this.database.dataSet.Tables[0].Rows [this.currentposition][21].ToString().Trim();
Time of Update: 2016-12-21
泛型:通過參數化型別來實現在同一份代碼上操作多種資料類型。利用“參數化型別”將類型抽象化,從而實現靈活的複用。例子代碼:class PRogram { static void Main(string[] args) { int obj = 2; Test<int> test = new Test<int>(obj); Console.WriteLine("int:
Time of Update: 2016-12-21
C#2005後不再支援多線程直接存取介面的控制項(介面建立線程與訪問線程不是同一個線程),不過可以使用delegate來解決:1. 聲明一個delegate和定義一個delegate的實現函數view plaincopy to clipboardPRint?delegate void ShowProgressDelegate(int newPos); private void ShowProgress(int newPos) { // 判斷是否線上程中訪問 if
Time of Update: 2016-12-21
方法一:只禁止多個進程運行view plaincopy to clipboardPRint?·········10········20········30········40········50········60········70········80········90········100·······110·······120·······130·······140·······150[STAThread] public static void Main() {
Time of Update: 2016-12-21
啟動子進程,不等待子進程結束view plaincopy to clipboardPRint?·········10········20········30········40········50········60········70········80········90········100·······110·······120·······130·······140·······150private void simpleRun_Click(object sender, System.
Time of Update: 2016-12-20
前段時間做了一個用到一個微軟的免費測試載入器FxCop,使用後覺得還不錯,能進行一些代碼方面的自動化的測試,同時有協助學習編碼規範和提高代碼執行效率,從而提高代碼的整體品質.這個工具能測試到的地方有: Design(設計),Globalization(全球化),Interoperability(互通性), Naming(命名),Performance(效能規則),也可以自己加入規則進行測試;工具還是很好用的,很快就上手了有幾點小技巧1
Time of Update: 2016-12-20
一般來說.NET提供了三種不同的介面實現方式,分別為隱式介面實現、明確介面實作、混合式介面實現。這三種方式各有各的特點。首先來看隱式介面實現,這恐怕是我們使用最多的一種介面實現,因為隱匿介面實現是.NET的預設介面實現方式。下面讓我們來看一個隱式介面實現的例 子:using System;internal class MyClass{public void SomeMethod(){// 利用介面的方式聲明一個Myinplement對象IMyInterface iObj = new