Time of Update: 2018-12-05
在上一講介紹了使用lock來實現線程之間的同步。實際上,這個lock是C#的一個障眼法,在C#編譯器編譯lock語句時,將其編譯成了調用Monitor類。先看看下面的C#原始碼:Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/-->public static void MyLock(){ lock (typeof(Program)) {
Time of Update: 2018-12-05
策略模式的設計原則如下: 1. 將應用中需要經常變化的代碼獨立出來,應和那些不需要經常變化的代碼分開。 2. 應針對介面,而不是類進行編程。 3. 在類中應多用組合,少用繼承。 例子: 我們要實現一個鴨子模擬器,這個鴨子模擬器由Duck類描述,而Duck類有如下4個行為: 1. display 2. swim 3. fly(飛) 4. quack(叫)
Time of Update: 2018-12-05
C# 代理與事件共分為上下兩篇,是我在學習該方面知識時記錄的隨筆!文章索引:C# 代理與事件上(delegate)C# 代理與事件下(event) C#代理概述代理(delegate)是C#中的一種類型,它實際上是一個能夠持有對某個方法的引用的類。但它與普通的類不同的是delegate能夠擁有一個簽名,並且它只能持有與它的簽名相匹配的方法的引用。代理類似於C/C++
Time of Update: 2018-12-05
using System;using System.Collections.Generic;using System.Text;using System.Management;//System.Management.dllnamespace test_get_current_connect_console{ class Program { static void Main(string[] args) { int i = 0;
Time of Update: 2018-12-05
開發語言:C#3.0IDE:Visual Studio 2008本系列教程主要包括如下內容:1. BeginInvoke和EndInvoke方法2. Thread類3. 線程池4. 線程同步基礎5. 死結6. 線程同步的7種方法7.
Time of Update: 2018-12-05
本文轉載:http://www.csframework.com/archive/2/arc-2-20110805-1771.htm文章側重點主要是討論“表單”與“表單”之間方法的調用,以及“MDI父表單”與“Chilid子表單”之間如何相互的調用方法。C# 子表單中調用父表單中的方法(或多表單之間方法調用)看似一個簡單的功能需求,其實很多初學者處理不好的,很多朋友會這麼寫:C# Code://父表單是是frmParent,子表單是frmChildA//在父表單中開啟子表單 frmChildA
Time of Update: 2018-12-05
//轉載:http://hi.baidu.com/fxh19860822/blog/item/df35230b3ded441495ca6bd5.html在C#中常見的序列化的方法主要也有三個:BinaryFormatter、SoapFormatter、XML序列化 /// <summary>/// 提供序列化和還原序列化對象的相關靜態方法。/// </summary> public class SerializerHelper {/// <
Time of Update: 2018-12-05
本文轉載於:CS架構網http://www.csframework.com/archive/2/arc-2-20110829-1811.htmC#.Net組件開發 - 使用Attach to ProcessJust-in-Time 偵錯設計器代碼組件設計的偵錯項目為兩個:一是我們關注的組件本身(Component/Control),二是組件的設計器(Component Designer/Control
Time of Update: 2018-12-05
private void backgroundWorker1_DoWork(object sender, DoWorkEventArgs e) { BackgroundWorker worker = sender as BackgroundWorker; int result = 0; for (int i = 0; i < 100000; i++) {
Time of Update: 2018-12-05
.Net的公用語言運行時(Common Language Runtime,CLR)能區分兩種不同類型的線程:前台線程和後台線程。這兩者的區別就是:應用程式必須運行完所有的前台線程才可以退出;而對於後台線程,應用程式則可以不考慮其是否已經運行完畢而直接退出,所有的後台線程在應用程式退出時都會自動結束。 .Net環境使用Thread建立的線程預設情況下是前台線程,即線程屬性IsBackground=false,在進程中,只要有一個前台線程未退出,進程就不會終止。主線程就是一個前台線程。而後台線程不
Time of Update: 2018-12-05
public class IniHelper { //檔案INI名稱 public string Path; /**/////聲明讀寫INI檔案的API函數 [DllImport("kernel32")] private static extern long WritePrivateProfileString(string section, string key, string val, string fil
Time of Update: 2018-12-05
vb.net中的事件''' <summary>''' 申明代理''' </summary>''' <param name="sender"></param>''' <param name="e"></param>''' <remarks></remarks>Delegate Sub myEvnetHandler()Sub myEvnetHandler(ByVal sender As Object,
Time of Update: 2018-12-05
using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Xml.Linq;namespace LinqStudy{ //*********************************************************************************************************** //Module:
Time of Update: 2018-12-05
out 和ref 參數 經常用來通過方法傳遞參數來擷取值,當您的方法不只有一個傳回值的時候,這兩個參數就發揮作用了。ref是傳遞參數的地址,out是傳回值,兩者有一定的相同之處,不過也有不同點。 在這篇文章裡,我將解釋如何在c#應用中使用這兩個參數。 1、out 參數 out 方法參數關鍵字使方法引用傳遞到方法的同一個變數。當控制傳遞迴調用方法時,在方法中對參數所做的任何更改都將反映在該變數中。 public class mathClass{public static int TestOut(
Time of Update: 2018-12-05
using System;using System.Collections.Generic;using System.Linq;using System.Text;namespace LinqStudy{ //*********************************************************************************************************** //Module:LinqTypeStudy.cs //
Time of Update: 2018-12-05
用Linq建立xml樹,並對樹中元素或屬性的值修改。 using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Xml.Linq;using System.Xml;namespace LinqToXMLStudy{ //***********************************************************************
Time of Update: 2018-12-05
本文轉載:http://www.cnblogs.com/smark/archive/2012/03/04/2379444.html裡面有關:提供可靠、高效能的Socket Tcp組件 Ant是基於C#編寫的自動更新程式,其主要目的是簡單方便地對.net傳統型應用程式進行自動更新,解決版本更新的煩惱。Ant主要分為三個部分:服務端,管理端和程式端。 服務端主要用於提供檔案更新和下載用 管理端是用於把最新版本的程式更新到服務端
Time of Update: 2018-12-05
XPath 使用路徑運算式來選取 XML 文檔中的節點或節點集。節點是通過沿著路徑 (path) 或者步 (steps) 來選取的。XML 執行個體文檔我們將在下面的例子中使用這個 XML 文檔。<?xml version="1.0" encoding="ISO-8859-1"?><bookstore><book> <title lang="eng">Harry Potter</title>
Time of Update: 2018-12-05
一.概述JVM封裝了各種作業系統實際的差異性的同時,提供了JNI技術,它是一種雙向的介面,使得開發人員可以通過Java代碼調用到各種native的庫,反之亦然。所以JNI(Java Native Interface)能作為Java語言的一部分,她能夠作為粘合劑將Java應用和其他本地應用(C/C++,Delphi)集合在一起.就很好的描述了JNI在Java應用中的地位和角色: 作為一個雙向的介面,JNI能支援兩種native代碼:native libraries 和native
Time of Update: 2018-12-05
本文轉自:http://www.cnblogs.com/cyccess/archive/2011/05/16/2047672.html 好久沒用字典了,今天需要使用,確怎麼也想不出,儲存後的遍曆方法!在網上查到學習了,這裡作個記錄,忘記了就有地方查了:)其實很容易!這裡再提醒一下,1)HashTable 儲存的是無序的,也就是最先儲存的鍵、值對不一定在第一個位置上;2)HashTable