Time of Update: 2018-12-08
C# 5.0 給我們帶來了三個非常有用的編譯器特性CallerMemberNameCallerFilePathCallerLineNumber在C與C++中由下列字元協助我們實現調試訊息的檔案行號複製代碼 代碼如下:.#define debug_msg printf("%s[%d]:",__FILE__,__LINE__);printf 在.NET 4中與其功能相等的是複製代碼 代碼如下:new
Time of Update: 2018-12-08
第一個複製代碼 代碼如下:System.Runtime.InteropServices.Marshal.ReleaseComObject(sheets); System.Runtime.InteropServices.Marshal.ReleaseComObject(worksheet); System.Runtime.InteropServices.Marshal.ReleaseComObject(excelApp);
Time of Update: 2018-12-08
深拷貝是指來源物件與拷貝對象互相獨立,其中任何一個對象的改動都不會對另外一個對象造成影響。舉個例子,一個人名叫張三,後來用他複製(假設法律允許)了另外一個人,叫李四,不管是張三缺胳膊少腿還是李四缺胳膊少腿都不會影響另外一個人。比較典型的就是Value(值)對象,如預定義類型Int32,Double,以及結構(struct),枚舉(Enum)等。
Time of Update: 2018-12-08
複製代碼 代碼如下:using System;using System.Runtime.InteropServices;using System.Windows.Forms;namespace WinFormTitle{ public partial class FormTitle : Form { [DllImport("user32.dll", EntryPoint = "AnimateWindow")] private static extern
Time of Update: 2018-12-08
最近遇到一個模組其執行時間非常短,但是調用頻率非常高。精確計算其運算時間對於提高程式整體效率來說非常重要。在我剛剛接觸.Net時,也曾經想要測試一下自己寫的程式的已耗用時間,當時我使用的是將兩個DateTime.Now相減的笨方法,呵呵。後來知道使用Environment.TickCount,對於一般的測試來說就足夠了。但是它對於高精度測試就沒什麼辦法,經常是返回個0了事。對於高精度測試我們應當使用QueryPerformanceFrequency函數和QueryPerformanceCount
Time of Update: 2018-12-08
複製代碼 代碼如下: public class Node { public object Element; public Node Link; public Node() { Element = null; Link = null; } public Node(object theElement) { Element =
Time of Update: 2018-12-08
複製代碼 代碼如下:public class Fruit{ string peach = "a round juicy fruit that has a soft yellow or red skin and a large hard seed in the center, or the tree that this fruit grows on"; string orange = "a round fruit that has a thick orange
Time of Update: 2018-12-08
複製代碼 代碼如下:using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace ConsoleApplication1 { class Program { static int length = 6; static string[] shortedPath = new string[length];
Time of Update: 2018-12-08
複製代碼 代碼如下: using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace ConsoleApplication1 { class Program { static void Main(string[] args) { bool isBreak = false;
Time of Update: 2018-12-08
axMapControl1是主控制項,axMapControl2是鷹眼控制項要看清楚事件響應1.鷹眼地圖資源載入複製代碼 代碼如下:privatevoid axMapControl1_OnMapReplaced(object sender, IMapControlEvents2_OnMapReplacedEvent e) { //當主地圖顯示控制項的地圖更換時,鷹眼中的地圖也跟隨更換
Time of Update: 2018-12-08
首先要安裝SpeechSDK5.1 開發包和SpeechSDK5.1 Langague Pack(中英文) 語言套件,不過VS2010裡是內建SpeechSDK5.0的com組件的,也可以用。 簡單講一下四個方法:朗讀時,使用複製代碼 代碼如下:voice.Speak(string,SpeechVoiceSpeakFlags.SVSFlagsAsync);暫停,使用複製代碼 代碼如下:voice.Pause();從暫停中繼續剛才的朗讀,使用複製代碼
Time of Update: 2018-12-08
複製代碼 代碼如下: 方法如下:聲明一個事件: Num_DiscountAmount.MouseWheel +=new MouseEventHandler(Num_DiscountAmount_MouseWheel);編寫一個事件private void Num_DiscountAmount_MouseWheel(object sender, MouseEventArgs e) {HandledMouseEventArgs h = e as
Time of Update: 2018-12-08
XML作用 對於XML,想必各位都比較瞭解,我也就不用費筆墨來描述它是什麼了,我想在未來的Web開發中XML一定會大放異彩,XML是可延伸標記語言 (XML),使用它企業可以制定一套自己的資料格式。用於Internet的資料轉送,我想,這是XML對於我們這些程式員最誘人的地方! 我們今天的主題不是論述XML的好處,而是討論在C#中如何使用XML。下面我們來瞭解一下使用程式訪問XML的一些基礎理論知識。訪問的兩種模型:
Time of Update: 2018-12-08
C++告訴我們在回收用 new 分配的單個對象的記憶體空間的時候用 delete,回收用 new[] 分配的一組對象的記憶體空間的時候用 delete[]。 關於 new[] 和 delete[],其中又分為兩種情況:(1) 為基礎資料型別 (Elementary Data Type)分配和回收空間;(2) 為自訂類型分配和回收空間。請看下面的程式。複製代碼 代碼如下:#include <iostream>;using namespace std;class T {public:
Time of Update: 2018-12-08
本文以兩種稍微有差別的方式用C#語言實現HTTP協議的伺服器類,之所以寫這些,也是為了自己能更深刻瞭解HTTP底層運作。要完成高效能的Web服務功能,通常都是需要寫入到服務,如IIS,Apache Tomcat,但是眾所周知的Web伺服器配置的複雜性,如果我們只是需要一些簡單的功能,安裝這些組件看起來就沒多大必要。我們需要的是一個簡單的HTTP類,可以很容易地嵌入到簡單的Web請求的服務,加到自己的程式裡。 實現方法一:
Time of Update: 2018-12-08
下面詳細介紹 一、初始化與初始賦值 首先說說類的初始化與初始賦值之前的區別,這也許裡面可能有我們不知道的事情。 其實類初始化與初始賦值還是有區別的。 複製代碼 代碼如下:class People{ public: People(std::string name,int age,int height); private: std::string m_sName; int m_iAge; int m_iHeight; } //賦值 People::People(std::string
Time of Update: 2018-12-08
例如:這裡程式檔案開頭有如下#define語句 複製代碼 代碼如下:#define N 10 #define PI 3.14 #define MAX 10000 #define Heigth 6.65 ... ...
Time of Update: 2018-12-08
相關概念 定義:事件是用於通知其他對象發生了本對象發生了特定的事情的類型成員。 說明:事件是.NET類型成員中相對較為難以理解和實踐的一個成員,因為事件的定義不是繼承自基礎的資料類型,而是對委託(delegate)的封裝。所以,在瞭解事件之前,你需要先瞭解一點委託。 應用情境:事件的應用情境非常廣泛,其中最常見的情境是在各個前端控制項中的大量觸發事件設計。原因是因為
Time of Update: 2018-12-08
函數功能:該函數返回指定視窗的邊框矩形的尺寸。該尺寸以相對於螢幕座標左上方的螢幕座標給出。 函數原型:BOOL GetWindowRect(HWND hWnd,LPRECTlpRect); 參數: hWnd:視窗控制代碼。 lpRect:指向一個RECT結構的指標,該結構接收視窗的左上方和右下角的螢幕座標。 傳回值:如果函數成功,傳回值為非零:如果函數失敗,傳回值為零。若想獲得更多錯誤資訊,請調用GetLastError函數。 C#中使用該函數首先匯入命名空間: 複製代碼 代碼如下:using
Time of Update: 2018-12-08
在C還是C++代碼中,typedef都使用的很多,在C代碼中尤其是多。typedef與#define有些相似,其實是不同的,特別是在一些複雜的用法上,看了網上一些C/C++的學習者的部落格,其中有一篇關於typedef的總結還是很不錯,由於總結的很好,我就不加修改的引用過來了,加上自己的一個分析。基本定義: typedef為C語言的關鍵字,作用是為一種資料類型定義一個新名字。這裡的資料類型包括內部資料類型(int,char等)和自訂的資料類型(struct等)。