Time of Update: 2018-12-07
本節課將介紹C#的多態性,其目的包括: 1.瞭解什麼是多態性 2.如何定義一個虛方法 3.如何重載一個虛方法 4.如何在程式中運用多態性 物件導向程式設計中的另外一個重要概念是多態性。在運行時,可以通過指向基類的指標,來調用實現衍生類別中的方法。 可以把一組對象放到一個數組中,然後調用它們的方法,在這種場合下,多態性作用就體現出來了,這些對象不必是相同類型的對象。當然,如果它們都繼承自某個類,你可以把這些衍生類別,都放到一個數組中。
Time of Update: 2018-12-07
一、前言“死亡測試”名字比較恐怖,這裡的“死亡”指的的是程式的崩潰。通常在測試過程中,我們需要考慮各種各樣的輸入,有的輸入可能直接導致程式崩潰,這時我們就需要檢查程式是否按照預期的方式掛掉,這也就是所謂的“死亡測試”。gtest的死亡測試能做到在一個安全的環境下執行崩潰的測試案例,同時又對崩潰結果進行驗證。二、使用的宏Fatal assertion Nonfatal assertion Verifies ASSERT_DEATH(statement, regex`);
Time of Update: 2018-12-07
1. 編譯和連結將程式轉化為機器可執行檔代碼,C語言分為三個步驟:A. 先行編譯。程式首先會交給前置處理器,前置處理器執行以#開頭的指令,然後給程式添加指令,或者修改指令。B. 編譯。修改後的程式進入編譯器,編譯器會把程式翻譯成機器指令(也就是目標代碼),但是這樣的程式還是不能執行的。C. 連結。連結器把由編譯器產生的目標代碼和其他所需的代碼整合到一起,這些附加程式碼封裝括程式中用到的庫函數。這樣就產生了完全可執行檔程式。2.
Time of Update: 2018-12-07
寒假裡面申請的學校學生科技創新基金項目,現在在此發布並提供給大家下載 具體的技術細節CG以後會在日誌發布。這是CG在08年寒假期間做的一個使用flash與C#通訊的示範的之後設計和編寫 的一個全新的版本,CG對其中進行了更加詳細的設計與修改,目前除了部分文檔 的編寫之外已經基本開發完成。項目資訊: 名稱 :SU GameDesigner 2.0 (1.0版本為CSharpFLash) 詳細資料:基於.net3.0 + AS3 技術設計,使用C#與Flash通訊技術設計的互動
Time of Update: 2018-12-07
去年暑假學習了幾個月asp.net 最後幾個星期弄了下C# socket .也算知道了個一知半解了, 好久沒動C#了, 雖然這語言進階的讓我對他沒興趣, 不過還是回憶回憶, 忘了一乾二淨就不好了.C# Socket:建議初學C# socket的菜鳥朋友不要使用TcpListenner, TcpClient這些MS封裝好的類庫, 這些封裝好的類用起來的確方便, 但你用完了你又學到了什麼了? 那該用什麼了, 只用Socket這一個類. 不錯,這樣會麻煩點的,但是, 在C#裡面, 就連Socket,
Time of Update: 2018-12-07
using System.Drawing;using System.Drawing.Drawing2D;using System.Drawing.Imaging; public class ImageHelper{ /// <summary> /// 擷取圖片中的各幀 /// </summary> /// <param name="pPath">圖片路徑</param> /// <param
Time of Update: 2018-12-07
Time of Update: 2018-12-07
近年來,隨著網路技術不斷髮展,尤其是基於Web的資訊發布和檢索技術、Java計算技術以及網路分布式對象技術的飛速發展,導致了很多應用系統的體繫結構從C/S結構向更加靈活的B/S多級分布結構演變,使得軟體系統的網路體繫結構跨入一個新階段。認識這些結構的特徵,並根據實際情況進行系統的選型,對於成功開發一個MIS系統是非常關鍵的。1 C/S結構與B/S結構1.1 C/S結構C/S結構,即Client/Server(客戶機/伺服器)結構。此結構把資料庫內容放在遠端伺服器上,而在客戶機上安裝相應軟體。C/
Time of Update: 2018-12-07
class Program { static void Main(string[] args) { Console.WriteLine(Next("abc123def345ghi")); Console.Read(); } private static string Next(string s) { if (!isNumber(s.Substring(s.
Time of Update: 2018-12-07
認為一個好的命名規範會給程式的閱讀者一個好的享受!名稱空間的命名 命名名稱空間的一般規則如下: CompanyName.TechnologyName 這樣,我們看到的名稱空間應該是這樣的: Microsoft.Office PowerSoft.PowerBuilder
Time of Update: 2018-12-07
C#成員的初始化順序你真的非常清楚嗎,我發現有點坑爹,坑到爹突然有點搞不清楚什麼狀況。下面咱們開始分析,先看3個簡單類。 public abstract class Base { public Base() { SetValue(); } public abstract void SetValue(); } public class Sub : Base { public
Time of Update: 2018-12-07
1. 預先處理指令在第一篇文章中,我們就提到了前置處理器的概念。前置處理器就是用來處理預先處理指令。預先處理指令包含以下三種:A. 宏定義 #defineB. 檔案包含 #includeC. 條件編譯 #if #ifdef等等。2. 簡單的宏定義在之前我們就廣泛地運用了宏定義,在此不在贅述。3. 帶參數的宏定義帶參數的宏定義,也稱為函數式宏。舉個簡單的例子:#define MAX(m,n) ((m)>(n)?(m):(n))int main (void){ printf("%
Time of Update: 2018-12-07
1. 結構體聲明學習C#/Java的我們,結構體相信都非常熟悉了。簡單先來介紹下文法,聲明一個結構體:struct{ char *name; int age;}person1,person2;int main (void){ person1.name="kym"; person1.age=21; printf("%s",person1.name); return 0;}當然,我們也可以在聲明時直接初始化:struct{ char *name;
Time of Update: 2018-12-07
由於.net並沒有提供快速鍵的庫,所以要使用該功能得通過api實現。在winapi中,註冊和登出全域快速鍵分別是通過RegisterHotKey和UnregisterHotKey函數實現。在c#中直接使用該api顯得不夠簡潔,這裡我提供了一個友好點的封裝。代碼如下: static class Hotkey { 系統api /// <summary> /// 註冊快速鍵 /// </summary>
Time of Update: 2018-12-07
在做管理軟體時,常常需要表格輸入功能。表格輸入極大地加快了資料輸入,提高了工作效率,當然也提高了軟體的競爭性。筆者最近用C#在做一套CRM時,成功地使用C# 2005裡面的表格控制項DataGridView實現了表格輸入功能,現在就把具體實現與各位分享: 1. 初始化工作 (1) 在Vs 2005 裡面建立一個C# WinForm 應用程式: DataGridViewTest (2) 在表單Form1上拖一個DataGridView控制項:DataGridView1 (3)
Time of Update: 2018-12-07
使用者名稱 [\w\-]{3,12} 3-12個字元(包括英文字母、數字、'-'、'_') 密碼 [\x21-\x7E]{3,8} 3-8個常用字元(0x21到0x7E) 年齡 1[0-2]\d|\d{1,2} 最大129歲 日期 (19|20)\d{2}[/\s\-\.]*(0[1-9]|1[0-2]|[1-9])[/\s\-\.]*(0[1-9]|3[01]|[12][0-9]|[1-9]) 不含時間的日期,沒有處理2月29日的情況 (19|20)\d{2}[/\s\-\.]*(0[1-9]
Time of Update: 2018-12-07
CodeCode highlighting produced by Actipro CodeHighlighter
Time of Update: 2018-12-07
利用書籤定位到Word文檔的指定位置 (三種方法)首先在Word文檔中,設定書籤,並命名(假設建了一個名為"BM_TEST"的書籤)然後使用C#操作Wordusing MSWord = Microsoft.Office.Interop.Word;private MSWord.Application wordApp; //Word應用程式變數private MSWord.Document wordDoc; //Word文檔變數private Object Nothing =
Time of Update: 2018-12-07
運算元支援:多位元,小數運算子支援:+ - * / ( ) #include<iostream.h>#include<string.h>#include<stdlib.h>/*棧*/template <class T>class CStack{public: int m_count; T * m_arr; int m_curposition; CStack(int count) { m_arr = new T [count]; m_count
Time of Update: 2018-12-07
Double dValue = 95.12345; int iValue = 10000; string strValue = "95.12345"; string result = ""; result = Convert.ToDouble(dValue).ToString("0.00");//保留小數點後兩位,結果為95.12 result =