Time of Update: 2018-12-06
今天遇到了用線程調用帶函數,但是如果運用常規想法是行不通的,如下代碼: HistoryRecord hr = new HistoryRecord(); DateTime StartTime = new DateTime(2007, 12, 3, 16, 18, 36); DateTime EndTime = new DateTime(2007, 12, 4, 16, 19, 59); Thread t = n
Time of Update: 2018-12-06
猛一看還真有點糊糊;注意區別: 1、函數型指標:指函數傳回值的類型。 指標型函數:傳回值是一個指標(即地址) 2、int(*p)()和int *p() 是一樣嗎?為什嗎? int (*p)()是一個變數說明,說明 p 是一個指向函數入口的指標變數,該函數的傳回值是整型量,(*p)的兩邊的括弧不能少。 -->函數型指標 int *p()則不是變數說明而是函數說明,說明 p 是一個指標型函數,其傳回值是一個指向整型量的指標,*p
Time of Update: 2018-12-06
寫這篇文章總結C++指標的用法。在C++中最好不要用new/delete來使用指標,而應該用智能指標來管理資源,智能指標就屬boost做得最好了。boost的源碼和使用方法在網上隨便一搜就可以找到,在此就不哆嗦了。下面進入本文——一、最後的指標 雖然要放棄new/delete的用法,但在這裡還是要講一個值得注意的地方。 int* arr=new int[3]; //不同於new
Time of Update: 2018-12-06
public class Class1 { delegate int DeleAdd(int a,int b); //委託聲明 delegate int DeleRemove(); public Class1() { } public static void Start() { Class1 c1=new Class1();
Time of Update: 2018-12-06
反射的概述反射的定義:審查中繼資料並收集關於它的類型資訊的能力。中繼資料(編譯以後的最基本資料單元)就是一大堆的表,當編譯器集或者模組時,編譯器會建立一個類定義表,一個欄位定義表,和一個方法定義表等,。System.reflection命名空間包含的幾個類,允許你反射(解析)這些中繼資料表的代碼和反射相關的命名空間(我們就是通過這幾個命名空間訪問反射資訊): System.Reflection.MemberInfoSystem.Reflection.EventInfoSystem.Reflect
Time of Update: 2018-12-06
一、委託委託類似於函數指標,但函數指標只能引用靜態方法,而委託既能引用靜態方法,也能引用執行個體方法。委託使用分三步:1、委託聲明。2、委託執行個體化。3、委託調用。常式一: using System;namespace 委託{ delegate int NumOpe(int a,int b); //委託聲明 class Class1 { static void Main(string[] args) { Class1 c1 = new Class1();
Time of Update: 2018-12-06
白話C#反射轉帖自:http://www.cnblogs.com/Autumoon/archive/2008/06/23/1228335.html
Time of Update: 2018-12-06
原文連結:http://hi.baidu.com/liyanlin84/blog/item/d235402483d0f7358644f96b.htmlC#代碼與javaScript函數的相互調用問:1.如何在JavaScript訪問C#函數?2.如何在JavaScript訪問C#變數?3.如何在C#中訪問JavaScript的已有變數?4.如何在C#中訪問JavaScript函數?問題1答案如下:javaScript函數中執行C#代碼中的函數:方法一:1、首先建立一個按鈕,在後台將調用或處理的內
Time of Update: 2018-12-06
C# 2.0中泛型程式設計初級教程 C# 2.0,與C#
Time of Update: 2018-12-06
筆者首先接觸的是C#語言,然後再學的Win32、MFC。在轉型的學習過程中,遇到了一些令人費解的問題。比如,一些系統級的功能,在C#中實現後,卻花了好長一段時間才學會在Win32、MFC中實現。下面將整理一些常用功能在這三種環境下的實現方法 在這篇中先介紹如何設定系統級熱鍵: C# 第一步,先在類的層級中申明兩個API函數,///註冊熱鍵[DllImport("user32.dll")]private static extern bool RegisterHotKey(IntPtr hWn
Time of Update: 2018-12-06
本篇介紹如何分別在c#,MFC,WIN32程式中移動無標題視窗 C# C#中總結起來有兩種方法: 1.自己控制,滑鼠左鍵點擊、移動時表單的狀態,代碼見下: Point offSet; privatevoid frm_MouseDown(object sender, MouseEventArgs e){ offSet =new Point(-e.X, -e.Y); } privatevoid frm_MouseMove(object sender,
Time of Update: 2018-12-06
以前本人用C#製作過一些小遊戲的外掛,其中一步最重要的原理是截取電腦的螢幕,然後分析關鍵像素點的資訊。現在用C++重用這些程式時,在截屏上遇到一些問題,現在終於解決了,貼出自己整理後的代碼。分為win32代碼和MFC代碼,如下 1 void Test_captrueScreenwin32() 2 { 3 HDC hDesktopDc=CreateDC(_T("DISPLAY"), NULL, NULL, NULL); 4 int
Time of Update: 2018-12-06
除了可以定義泛型類之外還可以定義泛型方法把方法Swap把T定義為泛型型別,兩個參數,一個變數temp public static void Swap<T>(ref T x, ref T y) { T temp; temp = x; x = y; y = temp; }調用: static void Main(string[] args)
Time of Update: 2018-12-06
1.什麼是操作符重載定義:(百科定義)就是把已經定義的、有一定功能的操作符進行重新定義,來完成更為細緻具體的運算等功能。操作符重載可以將概括性的抽象操作符具體化,便於外部調用而無需知曉內部具體運算過程。 2.為什麼需要運算子多載?在C#中 ,內建的資料類型有:int、double等這些類型是可以直接進行數值加減運算。例如:int i, j = 1; int sum=i+j;可以直接得到想要的和sum。如果要比較一個類(結構)進行對象比較加、減等操作 該如何??例如一個類Test,有對象a,b
Time of Update: 2018-12-06
相信大多數朋友寫出貪食蛇遊戲沒有太大的困難,但若要實現蛇自動吃豆的功能,就要花一番心思了。本人自動遊戲的第一個版本中有兩個明顯的錯誤會導致蛇進入死胡同,或者不能從死胡同中走出來。下面先介紹下實現的思路, 這是程式的整體架構:這個程式既可以手動也可以切換為自動其中frmGame是遊戲的主視窗,在視窗初始化時,將視窗中填滿lbls:List<List<Label>>的控制項數組,若要顯示蛇和豆,只需要將相應位置上的Label控制項的Enable屬性設為true,其它的設
Time of Update: 2018-12-06
WPF,WCF 如雷貫耳 早聽說 WPF,WCF大名,但是就是一直沒有去瞭解她……今天突然想去看看她長啥樣? 主要是給自己留個筆記,順便比較下WPF和Winform之前的區別1.什麼是WPF?有什麼用? 定義:Windows Presentation Foundation(WPF){ [,prezən'teiʃən, ,pri:-] n. 描述,陳述;介紹;贈送、 [faun'deiʃən] n. 基礎;地基;基金會;根據;創立}是微軟推出的基於Windows
Time of Update: 2018-12-06
在本人的隨筆 《在c#中用指標操作圖片像素點》 中,介紹了兩種不安全的方法,優勢就在於時間效率上的提升,但是C#畢竟是安全性的語言,這裡就介紹一種執行效率很高的安全方法——前幾天在圖書館裡發現了一本用C#講圖形學的書,其中就介紹了一種時間效率比指標法稍低的安全方法 Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/-->//從檔案中獲得Bitmap對象
Time of Update: 2018-12-06
前言如果需要處理許多位,就可以使用類 BitArray 和結構 BitVector32。BitArray 位於命名空間System.Collections,BitVector32 位於命名空間 System.Collections.Specialized。 一、BitArray 類 參考型別類 BitArray 是一個參考型別,包含一個 int 數組,每 32 位使用一個新整數個人理解:BitArray相當於一個bool類型的數組bool[]官方解釋:類 BitArray 是一個參考型別,
Time of Update: 2018-12-06
在網上發現這篇文章,收藏 時刻看看 學習學習(轉) 1. 避免將多個類放在一個檔案裡面。 2. 一個檔案應該只有一個命名空間,避免將多個命名空間放在同一個檔案裡面。3. 一個檔案最好不要超過500行的代碼(不包括機器產生的代碼)。 4. 一個方法的代碼長度最好不要超過25行。5. 避免方法中有超過5個參數的情況。使用結構來傳遞多個參數。 6. 每行代碼不要超過80個字元。 7. 不要手工的修改機器產生的代碼。 a) 如果需要編輯機器產生的代碼,編輯格式和風格要符合該編碼通訊協定。b)
Time of Update: 2018-12-06
為什麼需要泛型:CLR 2.0的一個新特性是泛型。在.CLR 1.0 中,要建立一個靈活的類或方法,但該類或方法在編譯期間不知道使用什麼類,就必須以 Object 類為基礎。而 Object 類在編譯期間沒有型別安全,因此必須進行強制類型轉換。另外,給實值型別使用Object類會有效能損失。 效能 第一、泛型的一個主要優點是效能.避免裝箱,拆箱 例如:ArrayList方法Add(Value),value值只要繼承object均可以添加進去,但是需要:裝箱