Time of Update: 2017-01-18
顯式轉換與隱式轉換 類型之間的轉換可以分為隱式轉換與顯式轉換,如int類型可直接轉換為long類型。 複製代碼 代碼如下: /*隱式轉換*/ int intNum = 23; long longNum1 = intNum; 也可進行顯式轉換; 複製代碼 代碼如下: /*顯式轉換*/ int intNum = 23; long longNum2 = (long)intNum; Parse 每個實值型別都包含Parse()依法,它將字串轉換成對應的數實值型別] 複製代碼 代碼如下:
Time of Update: 2017-01-18
null與voidnull值用來表示資料類型未被賦予任何值,它是一種參考型別;void表示沒有類型,或者說是沒有任何值。null與void的區別可以認為void是根本沒有,而null是一個空箱子,裡面什麼都沒有。null值只能賦值給參考型別,這裡注意到string也是一種參考型別;參考型別在C中稱為“指標”,即存放變數位置的記憶體空間位置。將變數設為null,會顯式地設定引用,且它本身不指向任何記憶體位置;null值賦給實值型別將導致編譯錯誤。void用於方法值的返回,其本質並不是一個資料類型,
Time of Update: 2017-01-18
C#預設情況下,若常數運算式的值超過了目標類型的最大值,將會導致編譯錯誤。若目標資料類型不能容納非常數運算式的資料,那麼資料在賦值時會被截斷。複製代碼 代碼如下: class Program { static void Main(string[] args) { int n = int.MaxValue;//n=2147483647 n = n + 1; System.Console.WriteLine(n); } }
Time of Update: 2017-01-18
其中有《Java程式設計教程》是一個美籍華人的作品,還有Nicholas C.Zakes的《Javascript進階程式設計》,還有就是這本Illustrator C# 2008,中文譯為“插圖詳解C#2008”,實際上插圖不是很多。這是我第一次完整的讀原版書,感慨良深。一是我的英文居然還可以,想當初考六級還差了20多分,–!!二是老外寫書真的是用心在寫,對待自己的書就像對待自己的孩子一樣。 以上是閑話,之前一直很想知道.net
Time of Update: 2017-01-18
講這四類之間的區別時有必要講解一個概念:程式集。程式集(Assembly),可以簡單理解為編譯之後產生的.dll或.exe檔案,相對於namespace是類庫的邏輯組織形式,它可以稱為程式類庫的物理組織形式,msdn上描述“程式集包含描述它們自己的組建號和它們包含的所有資料和物件類型的詳細資料的中繼資料”。一般情況是一個程式集可以包含一個或者多個命名空間。 Public:對其他任何類的任何方法都是可見的; Private:本類中定義的成員只有本類的方法才能訪問;
Time of Update: 2017-01-18
還記得讀大學時初識電腦編程時的C語言,Main(){},那時還不明白入口函數是什麼意思,只知道照抄書本上的樣本,一行一行地跑printf看。 在C#中Main()屬於主入口函數,我們知識C、C#屬於編譯語言,可以想象為一段程式最開始的頭部部分,由Main()函數進入逐語句進行編譯後執行。假如html頁面也稱作程式設計語言的話,那麼它就屬於從上到下一句一句(下載)執行;js也是由上到下執行,不過js相當詭異,變數範圍要特別對待;在asp.net中一般情況下是以Page_Load(object
Time of Update: 2017-01-18
在方法聲明中只允許一個paras關鍵字,並且該關鍵字只能為最後一個。複製代碼 代碼如下: using System; /****************************** * Chapter:C#痛點逐個擊破(三) * Author:王洪劍 * Date:2010-1-16 * Blog:http://www.51obj.cn/ * Email:walkingp@126.com * Description:數組參數params的使用 * ************************
Time of Update: 2017-01-18
傳值(by value)與傳址(by reference)分別為普通傳遞參數方式與ref聲明方式,傳址方式在使用前需要ref關鍵詞修飾;out為輸出返回傳遞,與ref相同之處較多,其重要區別是在上一節講到的ref在被引用方法中必須被初始化;out在被引用方法中一定要有傳回值。 複製代碼 代碼如下: using System; /****************************** * Chapter:C#痛點逐個擊破(一) * Author:王洪劍 * Date:2010-1-15 *
Time of Update: 2017-01-18
一般情況,方法的參數傳遞是通過值進行傳遞的,即一個對象作為參數傳遞給方法使用,該對象便進駐到該參數對象所在指標的記憶體空間(使用C來描述),也就是該對象在此位置建立了副本,當方法運行結束時,該副本將會被銷毀;這種傳遞方式的使用佔據了日常方法傳參的絕大多數。另一種情況是引用傳遞,它與值傳遞方式不同,對象傳遞給方法時對方法參數並沒有影響,仍然返回的是受原始參數取值影響的方法,即MethodInstance(ref _refValue)調用 Method(ref
Time of Update: 2017-01-18
一.使用MSScriptControl 到微軟的網站上下載Windows Script Control,它是一個ActiveX(R) 控制項,所以在.NET中使用我Interop了一下。下載安裝完成後,建立一個C#的Windows應用程式項目,在方案總管中選中引用節點,右鍵點擊選擇添加引用菜單,彈出添加引用對話方塊,單擊瀏覽找到安裝Windows Script
Time of Update: 2017-01-18
C#物件導向的基本原則 一、面向介面編成而不是實現 [Code to an interface rather than to an implementation.] 二、優先使用組合而非繼承 [Favor Composition Over Inheritance.] 三、SRP: The single responsibility principle 單一職責 系統中的每一個對象都應該只有一個單獨的職責,而所有對象所關注的就是自身職責的完成。[Every object in your
Time of Update: 2017-01-18
--DateTime 數字型 System.DateTime currentTime=new System.DateTime(); 1.1 取當前年月日時分秒 currentTime=System.DateTime.Now; 1.2 取當前年 int 年=currentTime.Year; 1.3 取當前月 int 月=currentTime.Month; 1.4 取當前日 int 日=currentTime.Day; 1.5 取當前時 int 時=currentTime.Hour; 1.6
Time of Update: 2017-01-18
複製代碼 代碼如下:using System; using System.Drawing; using System.Windows.Forms; using System.Threading; using Microsoft.Win32; namespace 星空個人化助手 { public partial class Form1 : Form { private delegate void LoadTreeView左側( TreeNode node );//聲明委託類型 public
Time of Update: 2017-01-18
當前選中項:TreeView.SelectedNode 增加頂級節點:TreeView.Nodes.Add("Key", "Text") 增加同級節點:TreeView.SelectedNode.Parent.Nodes.Add("Key", "Text") 增加子節點:TreeView.SelectedNode.Nodes.Add("Key", "Text") 全部展開:TreeView.ExpandAll() 全部收攏:TreeView.CollapseAll() 重新設定TreeView
Time of Update: 2017-01-18
DoubleClick 事件 在雙擊控制項時發生。處理時不包含任何事件數目據. MouseDoubleClick 事件 當用滑鼠雙擊控制項時發生。通過事件所包含的MouseEventArgs 對象,可以擷取滑鼠資料. 從邏輯上來說,由於比MouseDoubleClick 描述更抽象,DoubleClick 事件是控制項的更進階別的事件, 事件引發的順序: MouseDown 事件。 Click 事件。 MouseClick 事件。 MouseUp 事件。 MouseDown 事件。
Time of Update: 2017-01-18
CDMA貓真是!@#¥#%(*,連PDU都不支援,只能發文本簡訊。而且發中文簡訊居然是UNICODE,無法在超級終端裡輸入。只能寫程式。 網上這個問題談論地比較多,做起來比較累,還偶爾會出亂碼。還是將C#的成功碼帖一下吧。 轉載請註明來源 複製代碼 代碼如下: void SendCHNSms(string content,string phone) { //中文CDMA發送,UNICODE編碼位元組 byte[] b =
Time of Update: 2017-01-18
複製代碼 代碼如下:using System; using System.Collections.Generic; using System.Text; namespace ConsoleApplication1 { class 繼承1 { //virtual虛函數,這樣寫便於子類重寫 public virtual double Area(double a) { return a * 2; } } class Test : 繼承1 { //重寫父類的Area,當然也可以調用父類的Area方法
Time of Update: 2017-01-18
話不多說,直接上代碼如果需要根據單一字元分割單詞,直接用getline讀取就好了,很簡單 #include <iostream> #include <vector> #include <string> #include <sstream> using namespace std; int main() { string words; vector<string> results; getline(cin, words);
Time of Update: 2017-01-18
現在想從“C:\Program Files\常用綠色軟體\soft\”將‘FinalData.exe'、‘OfficeDiary.exe'、‘DisplayX.exe'這三個程式拷貝到‘C:\WINDOWS\system32'並覆蓋原有的三個,應該怎麼編寫??? 問題1:批處理的編寫支援長檔案夾和長檔名嗎? 問題2:批處理的編寫支援中文檔案夾嗎? 問題3:覆蓋原有檔案會出現提示嗎?如果會,怎麼讓它不提示直接覆蓋了? @echo off for %%a in (FinalData
Time of Update: 2017-01-18
很多朋友說誇張了,只能減少幾十M而已,其實那是因為你的系統本來都比較乾淨,如果你系統使用了一段時間,安裝了一定的軟體,升級過,長期瀏覽網頁圖片,一定時間後你再清理試試看能不能達到1G以上,不誇張,只是針對用的人而言~ 不想把他做成.bat檔案上傳,讓大家自己寫,會覺得更安全,放心,安全覺得可以保障的。 教大家自己寫個程式 這個程式是自動清理電腦裡的垃圾而不會破壞系統 比很多軟體都好哦 建立一個記事本並輸入以下的內容: 複製代碼 代碼如下:@echo off