Time of Update: 2017-02-27
#region 根據月份來確定每月的最大天數 private int SetDate(string time) { int intYear; int intMonth; int intDay; string year = time.Substring(0,4); string month = time.Substring(4,2); int.TryParse(year, out intYear);
Time of Update: 2017-02-27
想想自己上學的時候,買一本書是很困難的事情,經常要縮衣節食,現在不少 博友向我求電子版,因此我決定把這本書發到部落格上,希望對那些買不起書的同 學有所協助。我希望再經過幾年的努力,把這本書寫成一本專門面向初學者的經 典之作,但自己能力實在有限,因此歡迎高手們多提寶貴意見,對於建議被採納 的博友,再版時將贈書酬謝。另外,本書設想對象是完全沒有編程經驗的小白級讀者,而且是那種不是很“ 聰明”的超級小白,揣摩他們的心理,完全根據他們的口味編寫,因此作為高手
Time of Update: 2017-02-27
#region 將檔案儲存到本地 /// <summary> /// 將檔案儲存到本地 /// </summary> /// <param name="psContent">檔案的位元據字串</param> /// <param name="psFileName">檔案名稱,必須帶尾碼</param> private void SaveFile(string
Time of Update: 2017-02-27
CheckedChanged:當Checked屬性的值更改時就引發該事件。注意在複選框中,當ThreeState屬性為true時,單擊複選框可能不會改變Checked屬性。在複選框從Checked變為Indeterminate狀態時,就會出現這種情況。小註:ThreeState屬性:用來返回或設定複選框是否能表示三種狀態,如果屬性值為true時,表示可以表示:三種狀態—選中、沒選中和中間態(CheckState.Checked、CheckState.Unchecked和CheckSt
Time of Update: 2017-02-27
在Visual C# 2010中引入了一種新的dynamic類型,該類型是一個靜態(static)類型,但是一個 dynamic類型的對象會繞過靜態類型檢查。在大多數情況下dynamic和object類型有些相似,但是在編譯時間 ,dynamic類型被假定為支援任何操作,也就是說dynamic類型的對象可以是一個Office對象,可以是一個
Time of Update: 2017-02-27
DataRow.ItemArray 屬性通過一個數組來擷取或設定此行的所有值。命名空間:System.Data程式集:System.Data(在 system.data.dll 中)程式碼範例:private void CreateRowsWithItemArray() { // Make a DataTable using the function below. DataTable dt = MakeTableWithAutoIncrement();
Time of Update: 2017-02-27
隨著WEB開發的大行其道,各種動態語言也藉著這股東風,蓬勃發展起來。在軟體開發界,動態語言正 在被越來越多的的人所接受和使用,在CSDN所做的2007年讀者大調查中,動態語言在開發人群中的受關注 程度竟然達到12%。而在 TIOBE的排名中,動態語言竟然佔有了前十名中的六個席位(包括PHP、Python、 Perl和 JavaScript,在加上越來越動態Java和C#)。“未來屬於動態語言”似乎正在從一個預言成為一個現實。C#自然不會錯過這種技術發展確實,她正
Time of Update: 2017-02-27
終於靜下心來仔細聽了一遍Anders Hejlsberg(Visual Studio組的TECHNICAL FELLOW,C#的設計者之 一)在PDC08上講的“The Future of C#”(http://channel9.msdn.com/pdc2008/TL16/)。回顧C#發展的曆史,C#1.0完全是模仿Java,並保留了C/C++的一些特性如struct,新學者很容易上手 ;C#2.0加入了泛型,也與Java1.5的泛型如出一轍;C#3.0加入了一堆文法糖,
Time of Update: 2017-02-27
前段時間一個朋友問到C#的New關鍵字有幾種用法,雖說在日常編程中經常用到這個小傢伙,但它到底有幾種用法還真沒有留意過,現將從網上總結出的資料記下以供同仁學習。(1)new 運算子 用於建立對象和調用建構函式。(2)new 修飾符 用於隱藏基類成員的繼承成員。(3)new 約束 用於在泛型聲明中約束可能用作型別參數的參數的類型。new 運算子1.用於建立對象和調用建構函式例:Class_Test MyClass = new
Time of Update: 2017-02-27
1,引入最近因為項目的原因,需要在自動化測試代碼中實現使用者角色的切換,自然 第一印象就想到了Run As(中文版windows中也叫“運行方式”)。比如我們可 以在開啟IE瀏覽器的時候按右鍵“運行方式”:然後輸入一個新的使用者帳戶,如下圖:上圖中我本機使用的是域帳戶本地帳戶登陸的作業系統,但是我現在需要使 用域帳戶來運行IE瀏覽器,以方便我在開啟相應的綁定域帳戶許可權的頁面,如公
Time of Update: 2017-02-27
上篇文章提到,目前項目想做到核心部分代碼不被反編譯,而考慮到團隊成員都是比較熟悉C#,因此 核心演算法部分採用C++,而其他地方則採用C#(例如資料訪問層,介面層都使用C#語言)。在上一篇文章 中完成了C#Managed 程式碼調用C++Unmanaged 程式碼,現在接著完成第二部分,即C++Unmanaged 程式碼調用C#Managed 程式碼,分 為兩部分,首先C#建立COM+組件,其次是C++調用COM+組件。C#建立COM+組件1. 在VS中,建立類庫ComInterop2.
Time of Update: 2017-02-27
在最近的項目中,牽涉到項目原始碼保密問題,由於代碼是C#寫的,容易被反編譯,因此決定抽取核 心演算法部分使用C++編寫,C++到目前為止好像還不能被很好的反編譯,當然如果你是反組譯碼高手的話,也 許還是有可能反編譯。這樣一來,就涉及C#Managed 程式碼與C++Unmanaged 程式碼互相調用,於是調查了一些資料, 順便與大家分享一下一. C# 中靜態調用C++動態連結1. 建立VC工程CppDemo,建立的時候選擇Win32 Console(dll),選擇Dll。2. 在DllDemo.
Time of Update: 2017-02-27
要使用C#實現一個ActiveX控制項,需要解決三個問題:1.使.NET組件能夠被COM調用2.在客戶機上註冊後,ActiveX控制項能通過IE的安全認證3.未在客戶機上註冊時,安裝包能通過IE的簽名認證本程式的開發環境是.NET Framework 3.5,工具是Visual Studio .NET 2008,在安裝.NET Framework
Time of Update: 2017-02-27
16.4.2自訂事件通過上一節的論述,我們知道要建立一個事件驅動的程式需要下面的步 驟:1.聲明關於事件的委託;2.聲明事件;3.編寫觸發事件的函數;4.建立事 件處理常式;5.註冊事件處理常式;6.在適當的條件下觸發事件.現在我們來編寫一 個自訂事件的程式.主人養了一條忠實的看門狗,晚上主人睡覺的時候,狗負責看守房子.一旦有小偷進來 ,狗就發出一個Alarm事件,主人接到Alarm事件後就會採取相應的行動.假設小偷於2009年元旦午夜時分到 達.作者:梁斌玉 摘自《C#初學課堂》本章目錄第16
Time of Update: 2017-02-27
17.9 座標變換預設情況下,座標系的原點位於視圖地區的左上方,水平方向為x軸,豎直方向為y軸。但有時候我們 需要改變座標軸的位置或方向,這時就需要座標變換。常用的座標變換有平移變換、旋轉變換和伸縮變換 三種。17.9.1 平移變換平移變換是指把座標系的原點由一個位置平移到另一個位置,我們可以通過Graphics 類的 TranslateTransform()方法實現平移變換。下面我們通過一個樣本來說明怎樣進行平移變換。圖17-16
Time of Update: 2017-02-27
物件導向編程:類和對象的概念[說明:本文是給剛剛接觸編程的初學者看的,大佬們看起來 可能覺得很簡單,勿怪]類(Class)物件導向思想來源於對現實世界的認知。現實世界繽紛複雜、種類繁多,難於認識和理 解。但是聰明的人們學會了把這些錯綜複雜的事物進行分類,從而使世界變得井井有條。比如我們由各式 各樣的汽車抽象出汽車的概念,由形形色色的貓抽象出貓的概念,由五彩斑斕的鮮花抽象出花的概念等。 汽車、貓、鮮花都代表著一類事物。每一類事物都有特定的狀態,比如汽車的品牌、時速、馬力、耗油量
Time of Update: 2017-02-27
17.9.4 在滾動視窗中繪圖表單的大小由表單的Size屬性確定,這個大小包括了表單的標題列和邊框。而表單中用於顯示客戶文 檔的地區稱為工作區(ClientRectangle),其大小用表單的ClientSize 屬性工作表示(如圖17-20所示)。在圖17-20中,表單的大小為308×234像素,其中標題列的寬度為30像素,邊框的寬度為4像素,所以
Time of Update: 2017-02-27
1. 命名和選擇性參數Visual C# 2010引入了命名和選擇性參數,經常使用SQL Server編寫預存程序的開發人員對此應該比較熟 悉—具名引數和選擇性參數與預存程序的參數十分相似。具名引數允許調用者通過提供參數的名稱來為其賦值,這樣參數的位置就不在重要了。選擇性參數允許 在定義時為某些參數賦值,在調用時可以忽略這些“可選的”參數。具名引數和選擇性參數可以應用在方法
Time of Update: 2017-02-27
這個資源集區用來管理程式的寶貴資源。主要的類是ResourcePool<T>。使用者可以通過調用GetResource方法請求一個資源,用完之後通過ReturnResource歸還給資源集區。由資源集區決定什麼時候釋放多餘的資源。介面IResourceProvider<T>用來獲得資源。類ResourceTag<T>用來標誌資源是否在用。具體的就不多說了,請看代碼。歡迎討論。先是測試代碼: 1 using System; 2 using
Time of Update: 2017-02-27
我們建立了一個介面iii,它只有一個名為pqr的函數。然後,類yyy實現了介面iii,但是沒有實現函 數pqr,而是添加了一個名為abc的函數。在進入點函數vijay中,函數pqr會被介面iii調用。我們 之所以沒有得到任何錯誤,是因為override指令的存在。這個指令通知編譯器重新導向對介面iii的函數pqr 以及對類yyy的函數abc的任何調用。編譯器對override指令是非常嚴格的。可以從這樣的事實中對此進行