Time of Update: 2017-02-27
作用:將一個複雜物件的構建與它的表示分離,使得同樣的構建過程可以建立不同的表示。UML結構圖:適用於以下情況:1)當建立複雜物件的演算法應該獨立於該對象的組成部分以及它們的裝配方式時。2)當構造過程必須允許被構造的對象有不同的表示時。抽象基類:1)Builder:這個基類是全部建立對象過程的抽象,提供構建不同組成部分的介面函數介面:1)Builder::BuildPartA,Builder::BuildPartB:是對一個對象不同部分的構建函數介面,Builder的衍生類別來具體實現.另外還有一
Time of Update: 2017-02-27
最近有人問到 ref 關鍵字的正確用法,下面我們來舉例說明。其實要更好的理解 ref 關鍵字,結合 C++ 代碼更加容易一些。另外在開始我們的例子之前,需要提前說明幾點:C# 中的資料有兩種類型:參考型別(reference types)和實值型別(value types)。 簡單類型(包括int, long, double等)和結構(structs)都是實值型別,而其他的類都是參考型別。 簡單類型在傳值的時候會做複製操作,而參考型別只是傳遞引用,就像 C++ 中的指標一樣。注意
Time of Update: 2017-02-27
複雜的,面向組件的業務開發,期待現代的軟體開發工程師們具備更多的彈性設計,而不是過去的方法設計。微軟的.NET架構通過眾所周知的聲明式編程,廣泛的使用特性來附加額外的功能。在軟體系統裡,特性可以增強系統的彈性,這是因為,特性使功能的松耦合得到了增強。所以,你可以定製自己的屬性類別,然後根據你自己的意圖,合理的使用這些具有松耦合功效的特性。使用.NET架構編寫Windows程式,在很多方面已經變得很簡單。在許多情況下,.NET架構使用,.NET編譯器在編譯時間綁定到程式集的中繼資料,.使靈活的程式
Time of Update: 2017-02-27
在當前一個項目中,需要計算字串的長度,並將固定長度字元截下來,其中漢字要按2個字元計算,數字與字母按1個字元計算,沒有找到現成的函數可以使用,參考 如何得到一個漢字和字母組合的字串的準確的長度( asp.net 版本的 ) http://www.webjx.com/htmldata/2005-10-20/1129777793.html參考寫了以下兩個函數,主要功能為按指定長度取copy字串,取代substring的功能吧.privateint GetLength( String aOrgStr
Time of Update: 2017-02-27
一、命名空間嵌套上一節中講到命名空間在類的對象執行個體化的過程中可以防止類的衝突,如果兩個類名一樣的類包含在兩個不同的命名空間中,那麼在執行個體對象的建立的時候系統就會提示你該選擇用哪個類.而所謂命名空間嵌套是指在一個命名空間嵌套中裡還可以包含另一個命名空間嵌套。下面用一個簡單的例子來說明:using System;using System.Collections.Generic;using System.Text;using System.IO;using
Time of Update: 2017-02-27
去年11月份利用冒泡排序,用js實現了一個機票查詢結果按照機票的票麵價格和出發日期的頁面無重新整理排序。這一段時間客戶又要求改為按照實際支付價格和日期進行排序,匆匆改好以後,感覺自己的演算法和資料結構的能力幾乎荒廢了(好像以前也沒有過這種能力^_^)。這裡整理一下常用的排序演算法,用c#實現,以備日後再用。Code is
Time of Update: 2017-02-27
一. namespace-命名空間在C#中命名空間有很大的作用,它指明了你所用到的類來自哪個命名空間中,例如Mail類在命名空間using System.Net.Mail和using System.Web.Mail都存在,如果你在程式當中引用了這兩個空間,但是在建立Mail類的對象時候沒有指明使用的是哪個空間中的類那麼就會出現錯誤:using System.Net.Mail;using System.Web.Mail;public pa
Time of Update: 2017-02-27
這個問題來自論壇提問,並沒有什麼難度,也不需要重畫內容。當然還有一種方法是通過api發送WM_SysCommand 和SC_MOVE,也就是拖動無標題表單的方法 ,但是效果沒有這個好。using System;using System.Drawing;using System.Windows.Forms;namespace WindowsApplication2...{ public partial class Form1 : Form ...{ static string
Time of Update: 2017-02-27
這個問題來自論壇提問,示範代碼如下using System;using System.Collections.Generic;using System.ComponentModel;using System.Data;using System.Drawing;using System.Text;using System.Windows.Forms;using System.Runtime.InteropServices;namespace WindowsApplication27...{ /*
Time of Update: 2017-02-27
在網上看到一段代碼,覺得有意思,就修改了下共用CSDN讀友。程式運行介面:private void printDramC(Graphics g){const int MID = 150;const int Top = 50;this.Text = "simple graphics snowman";Font font = new Font("隸書",17);Pen blue = new Pen(Color.Blue);Pen yellow = new
Time of Update: 2017-02-27
目前已經有C#版得飛信sdk,功能很強大,佔用得資源也很多。由於現在開源得SDK是通過反編譯飛信而編寫的,所以其所佔用得記憶體在30M左右,檔案也比較大,在程式中使用很不方便,尤其是在asp.net中。看到網上有幾個開源得飛信了,有php的,也有python的,還有人用java寫了一個,不過不開源,也有在網站上提供api。最近google得gae比較火,也有人在gae上提供一個飛信的api,可惜不開源。另外還有人提供了一個delphi版本的飛信,也是開源的。還不得不提得就是用c++些寫的libf
Time of Update: 2017-02-27
閑言碎語才疏學淺,只把計算映像相似性的一個基本演算法的基本實現方式給羅列了出來,以至於在最後自己測評的時候也大發感慨,這個演算法有點不靠譜。不管怎麼樣,這個演算法有時候還是有用的,所以還是列出來跟大傢伙一起分享分享~~PS:影像處理這一塊博大精深,個人偶爾發現了點東西拿來分享。說的不好的地方,寫得太糟的地方,諸位準備扔磚頭還望淡定,淡定~~基本知識介紹顏色長條圖顏色長條圖是在許多映像檢索系統中被廣泛採用的顏色特徵,它所描述的是不同色彩在整幅映像中所佔的比例,而並不關心每種色彩所處的空間位置,即無
Time of Update: 2017-02-27
項目中需要實現以下功能:預覽列印控制項中,可以用滑鼠拖動頁面,以查看超出顯示範圍之外的部分內容。該功能本來可以通過拉動水平和垂直捲軸來實現,但實際使用中,使用者更趨向於直接用滑鼠拖動頁面來實現,很多看圖類軟體都有這種類似的功能。而.net的預覽列印控制項卻很遺憾的沒有提供這一功能,只來自己想辦法來實現啦。呵呵,不過辦法總是有的。我的辦法就是用代碼來控制預覽列印控制項中的水平來垂直捲軸的位置,間接實現和用滑鼠直接拖動捲軸一樣的效果。在實現這一功能的過程中,最大的困難是預覽列印控制項並沒有讓程式員直
Time of Update: 2017-02-27
引言C#中有兩種類型變數,一種 是實值型別變數,一種是參考型別變數,對於實值型別變數,深拷貝和前拷貝都是通過賦值操作符號(=)實現,其效果一致,將對象中的實值型別的欄位拷貝到新的對象中.這個很容易理解。 本文重點討論參考型別變數的拷貝機制和實現。C#中參考型別對象的copy操作有兩種:淺拷貝(影子複製/shallow
Time of Update: 2017-02-27
這個問題來自論壇提問,答案如下.這隻是一個簡單的ipconfig命令.如果是複雜的,比如oracle的exp之類的命令,能在調用的時候顯示出來,還是相當酷的.using System;using System.Windows.Forms;namespace WindowsApplication8...{ public partial class Form1 : Form ...{ public Form1() ...{ InitializeComponent();
Time of Update: 2017-02-27
21匿名方法21.1.匿名方法運算式 匿名方法運算式(anonymous-method-expression)定義了匿名方法(anonymous method),它將計算為引用該方法的一個具體值。l primary-no-array-creation-expression(基本非數組建立運算式:)…anonymous-method-expression(匿名方法運算式)l anonymous-method-expression:delegate
Time of Update: 2017-02-27
簡介C# 是創新性的新式程式設計語言,它巧妙地結合了最常用的行業語言和研究語言中的功能。在保持 C# 設計思想不變的同時,Microsoft 在 C# 語言中引入了幾種潛在的新功能,提高了開發人員在語言構造方面的效率。Microsoft C#自 2001 年 2 月 C# 問世以來,很多開發人員已經開始使用 C# 程式設計語言來構建軟體。而 Microsoft 自身也使用 C# 構建了幾種正式的應用程式,包括 .NET Framework、MSN Web 屬性和 Tablet PC
Time of Update: 2017-02-27
1.C#類和介面的區別介面是負責功能的定義,項目中通過介面來規範類,操作類以及抽象類別的概念!而類是負責功能的具體實現!在類中也有抽象類別的定義,抽象類別與介面的區別在於:抽象類別是一個不完全的類,類裡面有抽象的方法,屬性,也可以有具體的方法和屬性,需要進一步的專業化。但介面是一個行為的規範,裡面的所有東西都是抽象的!一個類只可以繼承一個基類也就是父類,但可以實現多個介面PS:介面除了規範一個行為之外,在具體項目中的實際作用也是十分重要的,在物件導向的設計原則以及設計模式的使用中,無不體現作為一
Time of Update: 2017-02-27
這幾個問題算不上進階技巧,但是的確還有很多人不知道,尤其是對DataView瞭解比較少,下面代碼示範了如何綁定資料到combobx和datagridview,另外還包括了如何在綁定時過濾重複,設定聯動,以及如何利用DataRelation求匯總表格。程式介面請讀者自己產生,一個form,兩個combobox,三個datagridview就可以了。參考介面如下程式碼如下using System;using System.ComponentModel;using System.Data;using
Time of Update: 2017-02-27
擴充標記語言XML(eXtensible Markup Language),是由W3C組織制定的。做為用於替代HTML語言的一種新型的標記語言,XML內部有著很多基本標準,XML就是通過與這些相關標準地結合,應用於科學計算、電子出版、多媒體製作和電子商務的。C#作為一種新型的程式語言,是.Net架構的一個重要組成部分,他和XML的關係頗深。本文就從一個方面來探討一下這二者的關係。即:看用C#如何來建立和讀取XML文檔。一.本文程式設計和啟動並執行軟體環境(一)微軟公司視窗2000伺服器版(二).