Time of Update: 2018-12-06
在程式中怎麼實現事件。要明白事件,首先要知道什麼是委託。在C#中委託允許開發人員將一個對象中的方法傳遞給另一個能調用該方法的類的某個對象。比如:可以將類AC中的一個方法ADD[前提是這個方法以被包含在某個委託中了]傳遞給另一個類WMS。此時類WMS就能調用類AC中的ADD了。當然不管你是以什麼方式實現方法的傳遞了,可以是靜態,也可以是執行個體化的。。要實現一個委託,需要按照這樣的不揍:A:申明委派物件。注意:參數一定要和你想要包含的方法的參數形式一致。public delegate void
Time of Update: 2018-12-06
1. 使用建構函式class Form1:Form { public Form1() { Form2 f = new Form2("我要傳給你"); f.Show(); } } public Form2:Form { public Form2() {} public Form2(string title):this() { MessageBox.Show(title); } }2. 使用靜態變數3. 使用委託1 public delegate void
Time of Update: 2018-12-06
Visual C# 語言概念資料類型(C# 與 Java)本主題討論 Java 和 C# 在資料的表示、分配和記憶體回收等方面的一些主要相同點和不同點。複合資料型別在 Java 和 C# 中,類作為有欄位、方法和事件的複合資料型別這一概念是相似的。(有關類繼承的概念在名為繼承與衍生類別(C# 與 Java)的主題中單獨討論。)C#
Time of Update: 2018-12-06
C#中可以定義擴充方法,還可以為集合做擴充方法。樣本如下:擴充方法using System;using System.Collections.Generic; using MySpace; //注意:引入擴充方法的空間namespace Con_1{ class Program { static void Main(string[] args) { string str = "{0}先生。".With("XuGang");
Time of Update: 2018-12-06
與C#一樣,java也對基本類型進行了封裝,int封裝出Integer類,boolean封裝出Boolean類。這樣一來,基本類型就突破了實值型別的限制,獲得了物件導向的好處。然而,與.NET不同,java中的封裝類是真正的參考型別,比如在java中用“==”比較兩個封裝類對象,儘管值相等,得到的結果也很可能是false,而不是像.NET一樣,將基本類型的一些操作符作了重載,使得“==”符號的行為看起來與基本類型完全一致。在java中,“Integer
Time of Update: 2018-12-06
在C#.net中操作XML //==================================================================================在C#.net中如何操作XML需要添加的命名空間:using System.Xml;定義幾個公用對象:XmlDocument xmldoc ;XmlNode xmlnode ;XmlElement xmlelem ;1,建立到伺服器同名目錄下的xml檔案:方法一:xmldoc = new
Time of Update: 2018-12-06
using System;using System.Collections.Generic;using System.Text;namespace TestConsole{ // 定義一個委託,用來表示老鼠監聽著貓的動靜 public delegate void CatListeningHandler(); public class Cat { //定義一個事件,這個事件表示貓叫了 public event CatListeningHandle
Time of Update: 2018-12-06
ASPX:<%@ Page %><HTML> <Title>使用全網站計數器</Title> <!--#Include file="GlobCount.inc"--> <script language="c#" runat="server">private void Page_Load(object sender, System.EventArgs e){ if(!IsPostBack)
Time of Update: 2018-12-06
1.checked 和unchecked 是否檢驗溢出查詢。 2.is運算子 檢查對象是否和特定對象相容。if(i is Object){...}3.as運算子用於參考型別顯式類型轉換。 object o1="something"; object o2 = 5; string s1=o1 as string ;// s1 = something; string s2 = o1 as string ;//s2 =null;4.sizeof可以確定棧中實值型別需要的長度(單位位元組)
Time of Update: 2018-12-06
using System;using System.IO;using System.Diagnostics;public static bool Ping(string remoteHost) { bool Flag = false; Process proc = new Process(); try { proc.StartInfo.FileName = "cmd.exe"; proc.StartInfo.UseShellExecute =
Time of Update: 2018-12-06
樣本程式是同步通訊端程式,功能很簡單,只是用戶端發給伺服器一條資訊,伺服器向用戶端返回一條資訊;這裡只是一個簡單的樣本,是一個最基本的socket編程流程,在接下來的文章中,會依次記錄通訊端的同步和非同步,以及它們的區別。 下面是樣本程式的簡單步驟說明伺服器端:第一步:用指定的連接埠號碼和伺服器的ip建立一個EndPoint對像;第二步:建立一個Socket對像;第三步:用socket對像的Bind()方法綁定EndPoint;第四步:用socket對像的Listen()方法開始監聽;第五步:接
Time of Update: 2018-12-06
MessageBox.Show(Convert.ToString(12345, 2)); //10進位轉換為2進位 MessageBox.Show(Convert.ToString(12345, 8)); //10進位轉換為8進位 MessageBox.Show(Convert.ToString(12345, 16)); //10進位轉換為16進位 MessageBox.Show(Convert.ToInt32("1100", 2).ToString());//2進位轉為10進位 Mes
Time of Update: 2018-12-06
本文介紹了什麼是Attribute,Attribute的概念定義,Attribute與Property的區別。一.什麼是Attribute先看下面的三段代碼:1.自訂Attribute類:VersionAttribute[AttributeUsage(AttributeTargets.Class)] public class VersionAttribute : Attribute { public string Name { get; set; }
Time of Update: 2018-12-06
本文介紹C#位元運算的處理方法,第一步, 先建立一個枚舉表示所有的許可權管理操作,接下來是許可權的運算等。 常用的位元運算主要有與(&), 或(|)和非(~), 比如: 1 & 0 = 0, 1 | 0 = 1, ~1 = 0 在設計許可權時, 我們可以把許可權管理操作轉換為C#位元運算來處理. 第一步, 先建立一個枚舉表示所有的許可權管理操作: [Flags] public enum Permissions { Insert = 1, Delete = 2,
Time of Update: 2018-12-06
Console.WriteLine(Evaluator.Eval("1+2+3+4+5+6+7+8+9"));//45Console.WriteLine(Evaluator.Eval("(1+1)/2*3"));Console.WriteLine(Evaluator.Eval("((10-2)/2+1)*3"));//15 using System;using System.Collections.Generic;using System.Linq;using System.Text;using
Time of Update: 2018-12-06
1. 避免將多個類放在一個檔案裡面。 2. 一個檔案應該只有一個命名空間,避免將多個命名空間放在同一個檔案裡面。3. 一個檔案最好不要超過500行的代碼(不包括機器產生的代碼)。4. 一個方法的代碼長度最好不要超過25行。5. 避免方法中有超過5個參數的情況。使用結構來傳遞多個參數。6. 每行代碼不要超過80個字元。7. 不要手工的修改機器產生的代碼。a) 如果需要編輯機器產生的代碼,編輯格式和風格要符合該編碼通訊協定。b) Use partial classes
Time of Update: 2018-12-06
http://minmin86121.blog.163.com/blog/static/49681157201182044847408/微軟的StyleCop作為一款程式碼分析外掛程式,整合到Visual Studio 2008和Visual Studio
Time of Update: 2018-12-06
本文主要描述在C#中線程同步的方法。線程的基本概念網上資料也很多就不再贅述了。直接接入 主題,在多線程開發的應用中,線程同步是不可避免的。在.Net架構中,實現線程同步主要通過以下的幾種方式來實現,在MSDN的線程指南中已經講了幾 種,本文結合作者實際中用到的方式一起說明一下。1. 維護自由鎖(InterLocked)實現同步 2. 監視器(Monitor)和互斥鎖(lock) 3. 讀寫鎖(ReadWriteLock) 4. 系統核心對象 1) 互斥(Mutex),
Time of Update: 2018-12-06
這是一箇舊瓶新裝的話題。只是將我今日的所見所思予以實踐和整理,以備往後所用。同時也提供給大家,希望能有所協助。 A 從單例模式說起代碼如下:class Program{ static void Main(string[] args) { Singleton demo1 = Singleton.Init(); Singleton demo2 = Singleton.Init(); }} public class Singleton{ private Singleton() { }
Time of Update: 2018-12-06
十六進位字串與數實值型別之間轉換(C# 編程指南) 以下樣本示範如何執行下列任務: 擷取字串中每個字元的十六進位值。 擷取與十六進位字串中的每個值對應的字元。 將十六進位 string 轉換為整型。 將十六進位 string 轉換為浮點型。 將位元組數群組轉換為十六進位 string。 樣本分析 此樣本輸出 string 中的每個字元的十六進位值。首先,它將 string 分析為字元數組,然後對每個字元調用 ToInt32(Char) 以擷取相應的數字值。最後,在 string