Time of Update: 2018-12-05
C#中遍曆所有的效能計數器PerformanceCounter 在C#中效能計數器對應的類型為PerformanceCounter,在使用該類型的時候,需要知道該計數器的CategoryName和CounterName,對於常用的Processor,Network之類的,還能有不少參考資料供參考查詢。如果是一個陌生點的計數器,光是尋找計數器的CategoryName,CounterName和InstanceName就是個麻煩事。下面給出一種遍曆本機上所有計數器資訊的方法。
Time of Update: 2018-12-05
C++的建構函式有三項工作:1、分配空間。2、成員初始化。3、執行初始化函數體。為了提高效率和其他原因,還引入了初始化列表,初始化列表的調用在函數體執行之前被調用,常用於類組合和類繼承,僅能用於建構函式和拷貝建構函式。 C++中建構函式初始化列表的使用方法:衍生類別名::衍生類別名(基類1 形參,基類2 形參,...基類n 形參,本類形參): 基類1(參數), 基類2(參數), ...基類n(參數),對象資料成員的初始化{ 本類成員賦初值語句;} C++中建構函式初始化列表的使用場合:1、
Time of Update: 2018-12-05
C++編譯器產生的預設函數話題引入:對象的賦值與複製是如何進行的?他們的區別是什嗎?如果一個空的自訂類型能否執行這些操作?對象賦值:通過“ =”運算子多載User a(10),b;b = a;對象複製:調用拷貝建構函式User b;User a(b);或者User a = b; //相當於User
Time of Update: 2018-12-05
一、C語言動態記憶體分配 要實現動態記憶體的分配,除了利用含指標成員的結構體之外,還需利用C語言提供的幾個標準庫函數。(使用時應包含標頭檔“alloc.h”或“malloc.h”或“stdlib.h”) 1.malloc函數 函數原型為void *malloc(unsigned int size);在記憶體的動態儲存裝置區中分配一塊長度為"size"位元組的連續地區。函數的傳回值為該地區的首地址。
Time of Update: 2018-12-05
在C++中,類繼承書寫方式如下:衍生類別的聲明class 衍生類別名:繼承方式 基類名{
Time of Update: 2018-12-05
容器類可以分為兩大類和容器適配器:(1)序列容器(Sequence containers)這種容器中的元素是有序的,每一個元素在容器中都有一個確切的位置,這個位置不依賴於元素的值,而是跟放入容器的時機有關。標準的序列容器有三個:vector, deque,
Time of Update: 2018-12-05
C++中函數調用中的記憶體配置一、記憶體配置
Time of Update: 2018-12-05
C#通用類型轉換器引子 在最近做的一個項目中,因為要在設計時和運行時都需要通過PropertyGrid對一些自訂類型的屬性進行編輯,比如彈出表單式編輯、下拉框式的編輯還有屬性展開編輯等各種方式,查看了VS自己的一些控制項的屬性編輯,知道這就是我想要的。 還有,就是自訂類型和字串之間的轉換(類似於int.Parse和int.TryParse這些方法),也是我經常要用到和實現的。技術準備
Time of Update: 2018-12-05
Synchronized vs SyncRoot 我們知道,在.net的一些集合類型中,譬如Hashtable和ArrayList,都有Synchronized靜態方法和SyncRoot執行個體方法,他們之間有聯絡嗎?我怎麼才能用好他們呢?我們以Hashtable為例,看看他們的基本用法: Hashtable ht = Hashtable.Synchronized(new Hashtable());lock
Time of Update: 2018-12-05
override是指在不同範圍中,多個函數原型完全一樣,而實現卻不同的函數。在C++中,經常發生在類的繼承中。當基類中的某個方法是virtual或pure
Time of Update: 2018-12-05
四、事件架構非同步模式(設計層面)基於事件的C#非同步編程模式是比IAsyncResult模式更進階的一種非同步編程模式,也被用在更多的場合。該非同步模式具有以下優點:· “在後台”執行耗時任務(例如下載和資料庫操作),但不會中斷您的應用程式。· 同時執行多個操作,每個操作完成時都會接到通知(在通知中可以區分是完成了哪個操作)。· 等待資源變得可用,但不會停止(“掛起”)您的應用程式。·
Time of Update: 2018-12-05
周立功CAN pci介面卡提供的範例程式碼都是VC,VB和Delphi的,沒有C#.net的例子。但是在使用C#調用CAN api的時候,由於這些api對資料類型的校正非常嚴格,所以,調試起來比較麻煩。摸索了一段時間,終於使用C# 2.0 VS.2008調用CAN api可以正常的發送接收資料了。 現在把API的聲明提供如下,有同樣需求的,就可以少走很多彎路了。public sealed class CANApi { //介面卡類型定義
Time of Update: 2018-12-05
1。什麼是特性clr運允許你添加類似關鍵字的描述聲明,叫做attributes,它對程式中的元素進行標註,如類型,欄位,屬性等。Attributes和.NET Framework檔案的中繼資料儲存在一起,可以用來向運行時描述你的代碼,或者在程式啟動並執行時候影響程式的行為。應用:序列化,程式的安全特徵,防止即時編譯器對程式進行最佳化從而使得代碼容易調試等等。Attribute是一個類2。Attribute類一個構造方法:protected Attribute();三個靜態方法:
Time of Update: 2018-12-05
Net Framework中的各種類型轉換方法可謂是五花八門,在這裡把各種類型轉換總結如下(以C#為例):一:單個變數的類型轉換:1 非強制類型轉換:不任何說明,編譯器會自動完成的轉換,如 int a=0;float b=a;double c=b;2 強制類型轉換:需要加上強制類型說明符,否則編譯不通過,如double c=0.0;float b=(float)c;int a=(int)b;3
Time of Update: 2018-12-05
表單和控制項在WndProc處理函數處理鍵盤訊息之前,都要進行預先處理。本文就介紹在鍵盤事件被WndProc處理之前所經過的處理過程。以下介紹是文本描述的示意介紹,和真正的代碼流程(TranslateAccelerator,TranslateMessage,DispatchMessage處理)有區別,僅僅便於理解。 在一個私人函數中進行訊息的內部處理,流程如下: internal PreProcessControlMessageInternal(){ if(是WM_KEYDOWN 或者是
Time of Update: 2018-12-05
主要的功能就是使用C#畫向量圖,然後匯出到Word、Excel、Powerpoint中,並且能夠再次被編輯。以下是解決過程: 首先應該確定在Office文檔中可編輯圖形使用的格式;學習了相關資料,瞭解到Office文檔主要支援三種向量圖的格式:1、VML圖形,2、WMF檔案格式,3、EMF檔案格式。由於VML圖開一般使用HTML語言進行描述,不便於進行操作,因此決定採用WMF和EMF檔案格式。
Time of Update: 2018-12-05
C# 3.5 新特性的總結:一、對象初始化 如果一個類有public欄位,在建立類的對象執行個體時可以使用下面的代碼來初始化這些欄位;public class MyClass{ public String field1; public int field2; public bool field3;}MyClass my = new MyClass();my.field1 = “abcd”;my.field2 = 44;my.field3 = true; 在C#3.0
Time of Update: 2018-12-05
今天我們結合代碼執行個體來具體看一下C# 4.0中的四個比較重要的特性。 1.dynamic ExpandoObject 熟悉js的朋友都知道js可以這麼寫 :var t = new Object(); t.Abc = ‘something’; t.Value = 243; 現在這個js動態語言的特性,我們也可以在c#中使用了,前提是將一個變數聲明為ExpandoObject類型。如下例:static void Main(string[] args) { dynamic t =
Time of Update: 2018-12-05
這幾天我一直在做一個WinForms項目,等做得差不多準備啟動並執行時候,突然發現了一個問題,那就是該如何控制子表單在父表單中顯示的位置。 經過一段時間的尋找才找到一個可以解決的方案,希望這個能對所有愛好編程的朋友們有一點點的協助。 其實很簡單的一個設定就可以滿足這個要求,那就是設定表單內容
Time of Update: 2018-12-05
1、字串常量需要加\02、邏輯運算