無廢話C#設計模式之一:開篇

什麼是設計模式?什麼是少林拳呢?少林拳是少林僧人經過長期的總結,得出的一套武功套路。有一本叫做少林拳法的武功秘籍,上面記載這這套拳法的適用人群,打法套路和學成後的效果。設計模式雖然記錄在了設計模式一書上,但是要真正掌握設計模式光靠看每一個模式的結構並且進行模仿是不夠的。試想一下,在真槍實戰的情況下,誰會和你按照少林拳法,一二三四的套路打呢?打套路也只能用來看看,只有當你能根據不同的情境靈活出招的時候才能說是學會了這套拳法。相似的例子還有三十六計,這也是一種模式,每種計謀都是針對不同情境的,如果不

在C#中利用反射計算字元運算式

今天在論壇裡面逛發現一個問題比較典型,我們在使用js的時候可以直接使用Eval得到某一個運算式 的值,在C#裡面可以嗎?答案是肯定的,在.NET提供的豐富的類庫裡面這是可以實現的,但是沒有js那麼簡 單下面我將使用一個簡單的例子來說明利用編譯器和反射得到一個字串運算式的值.我們建立一個Windows表單裡面有如下的方法:引用一下命名空間:using System;using System.Text;using System.CodeDom.Compiler;using

建立C#索引指標

在程式開發過程中,常常需要對一組對象進行訪問,通常是建立數組列表,通過運算元組的方式進行訪 問.C#提供的索引指標使我們可以方便且高效的完成對一組對象的訪問.通常,我們先建立一個容器類, 用於儲存物件,並且通過實現列舉程式介面提供相應的操作方法.以下樣本程式示範了如何建立並使用索引 指標.第一步:建立容器類這段代碼中,使用了ARRAYLIST,使我們可以利用ARRAYLIST的

C#轉換圖片檔案格式

將圖片轉換為另一種格式的映像時,需要使用ImageFormat類,該類主要用來指定映像的格式。代碼如下:private void button2_Click(object sender, EventArgs e){ //轉換影像檔 if (MyBitmap == null) { MessageBox.Show("請首先選擇一幅映像!", "資訊提示"); return; }

C#中介面多重繼承的注意事項

經常,一個類會實現多個介面,比如使用者的一個控制項繼承自"IEdit"和"ICombo",每個介面無疑都有一個Paint方法來供子類實現如何畫他們,但是多重繼承就會出現問題,預設情況下,C#止允許實現Paint方法.現在有一個比較鑽牛角尖的問題,如何在派生的類裡面實現這兩個介面的相同名稱的方法呢?通過實驗,翻閱MSDN,我總結了這麼幾條規律:本文可參考 MSDN

C#的try-catch異常處理語句

try-catch錯誤處理運算式允許將任何可能發生異常情形的程式碼放置在try{}程式碼塊進行監控,真正處理錯誤異常的程式碼則被放置在catch{}塊裡面,一個try{}塊可對應多個catch{}塊。樣本 try-catch語句寫入多個catch的使用通過兩個catch語句進行捕獲異常,它們分別是ArgumentNullException異常和Exception異常。程式碼如下。using System; class MainClass { static void

C#的try-catch-finally異常處理語句

異常發生時,執行將終止,同時將控制權交給最近的異常處理語句,這就意味著不能按正常的設計思想執行。而有些資源清理(如關閉檔案)必須總是執行,即使有異常發生,為了實現該功能,可以使用finally塊。finally塊用於清除try塊中分配的任何資源,以及運行必須執行的代碼,即使在發生異常的情況下。控制將總是傳遞給finally塊,與try塊的退出方式無關。樣本 try-catch-finally語句的使用本樣本中有一個導致異常的無效轉換語句,當運行程式時,使用者會收到一條執行階段錯誤資訊,但fina

C#的throw異常處理語句

throw語句用於發出在程式執行期間出現反常情況(異常)的訊號。throw語句通常與try-catch或try-finally語句一起使用。可以使用throw語句顯式引發異常(這裡引發自訂異常)。建立使用者自訂異常,好的編碼方法是以“Exception”作為使用者自訂異常類名的結尾。樣本 throw語句的使用本樣本通過Exception派生了一個新異常類UserEmployeeException,該類中定義了3個建構函式,每個建構函式使用不同的參數,然後再拋出自訂異常。程

C#文法學習:異常處理(Exception)

using System;class Test{static void Main(){/*try{int n=10;int m=0;float f=n/m;}catch(Exception e){Console.WriteLine(e.Message);}finally{Console.WriteLine("finally");}Console.WriteLine("finally later");//*//*try{int n=10;int

C#文法學習:線程(Thread)

/* * Created by SharpDevelop. * User: Administrator * Date: 2008/9/11 * Time: 下午 02:36 * */using System;using System.Threading;class SingleThread{ static void Main(string [] args) { SingleThread st =new SingleThread(); Thread th =

C#文法學習:枚舉類型(Enum)

/*枚舉 * 當你想讓一組數字代表特定的意義,並且希望是安全的,可讀性強. * * 枚舉類型是以"自己的方式使用整型" * 枚舉類型可以是:byte,sbyte,short,ushort,int,uint,long,ulong的子類 * 如果沒有指定類型,則默認為int類型 * * 枚舉類型的大小是所有元索的大小的總和 * */ using System; class Test { //enum Color{Red,Gree,Blue} //enum

C#文法學習:結構(Struct)

/*結構體(struct)*通常我們會用來封裝小型相關變量*例如,點的x,y的坐標.* public struct Point* {* public int X;* public int Y;* }* 結構體是一個值類型* 結構也可以包含建構函式、常數、欄位、方法、屬性、索引子、運運算元、事件和巢狀型別,* 雖然如果需要上述數種成員時,您應該考慮讓型別變成類別。* 結構可以實作介面,但不能繼承自另一個結構。* 因為如此,結構成員無法宣告為 protected。** 結構有下列屬性:*

C#文法學習:this&&base

this關鍵字所指的是類別 (Class) 的目前執行個體 (Instance),而且也用來當做擴充方法之第一 個參數的修飾詞 (Modifier)。以下為this的常見用法:this關鍵字使用的地 方:1,索引2,this簡單的說,表示所在類.準確的說是代表類的對像.3,其他場合. 代表建構函式//要限定被類似名稱所隱藏的成員,例如:public Employee(string name, string alias) {this.name = name;this.alias = alias;}

C#向Excel報表中插入圖片的2種方法

這幾天做向Excel插入資料,其中有插入圖片的需求,經實驗,下面2種方法都可以插入圖片,但各有不同的用處。現將這2種方法共用出來,希望需要的朋友進行參考,代碼中已經有詳細注釋了。注意:使用之前需要引用COM:Microsoft Office 11.0 Object Library如果引用列表中沒有,需要自行添加 C:\Program Files\Microsoft

一個簡單的C#多線程間同步的例子

在開發中經常會遇到線程的例子,如果某個後台操作比較費時間,我們就可以啟動一個線程去執行那 個費時的操作,同時程式繼續執行。在某些情況下可能會出現多個線程的同步協同的問題,下面的例子 就展示了在兩個線程之間如何協同工作。這個程式的思路是共同做一件事情(從一個ArrayList中刪除元素),如果執行完成了,兩個線程都停 止執行。代碼如下:using System;using System.Collections;using System.Collections.Generic;using

在.Net環境下用C#操縱活動目錄

Windows 2000 Server在Windows NT Server 4.0的基礎上,進一步發展了"活動目錄(Active Directory)"。活動目錄是從一個資料存放區開始的。它採用了類似Exchange Server的資料存放區,稱為:Extensible Storage Service

用C#製作飄動的表單效果

最近翻看以前的學習C#的聯絡代碼,無意之中發現一個很有趣的項目。是一個飄動表單的效果,運行 程式之後,在當前螢幕上會像雪花般飄動很多自訂表徵圖,並且它們就像雪花般輕盈地從螢幕上方飄落 到螢幕下方,直到消失。在程式運行過程中,螢幕上會維持一定數目的雪花。在系統托盤地區會有一個 表徵圖,點擊這個表徵圖,可以退出程式。這個聯絡代碼聯絡了如何使用不規則表單和系統托盤控制項。程式中核心部分原始碼:view plaincopy to clipboardprint?using System;using

VirtualBox下RedHat不能使用Ctrl+C快速鍵解決

環境:VirtualBox4.1 + RedHat Linux 6問題:當輸入錯誤的指令時 ,按下Ctrl+C無法終止解決:首先看看Ctrl+C鍵的作用:Ctrl+C鍵:在 Linux 底下,如果您輸入了錯誤的指令或參數,有 的時候這個指令或程式會在系統底下跑不停這個時候怎麼辦?別擔心,如果您想 讓當前的程式『停掉』的話,可以輸入:[Ctrl]與 c 按鍵 (先按著 [Ctrl]不放 ,且再按下 c 按鍵,是組合按鍵!),那就是中斷目前程式的按鍵啦!注

C/C++函數調用與函數傳回值

函數參數與函數調用1、函數調用的作用:·用實參數向形式參數傳遞資料;·為獲得資料參數及在函數體中聲明的變數分配儲存空間;·中斷現行(調用)函數,把流程向被調用函數的入口處,開始執行被調函數。當參數表為空白時,表示該函數不從調用函數接受資料。2、數值參數傳值調用:形參只有在函數被調用時,才被分配記憶體地區,並一直保留到函數返回時被撤銷為止。形參和實參只是名字相同,各自佔有各自的記憶體空間和生存周期,因此他並不能改變主調函數中的變數。3、地址參數傳址調用:傳

c/c++支援可變參數的函數

一、為什麼要使用可變參數的函數?一般我們編程的時候,函數中形式參數的數目通常是確定的,在調用時要依次給出與形式參數對應的所有實際參數。但在某些情況下希望函數的參數個數可以根據需要確定,因此c語言引入可變參數函數。這也是c功能強大的一個方面,其它某些語言,比如fortran就沒有這個功能。典型的可變參數函數的例子有大家熟悉的printf()、scanf()等。二、c/c++如何?可變參數的函數?為了支援可變參數函數,C語言引入新的調用協議, 即C語言呼叫慣例 __cdecl .

總頁數: 4314 1 .... 2883 2884 2885 2886 2887 .... 4314 Go to: 前往

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.