Time of Update: 2017-01-18
理解堆與棧對於理解.NET中的記憶體管理、記憶體回收、錯誤和異常、調試與日誌有很大的協助。記憶體回收的機制使程式員從複雜的記憶體管理中解脫出來,雖然絕大多數的C#程式並不需要程式員手動管理記憶體,但這並不代表程式員就無需瞭解分配的對象是如何被回收的,在一些特殊的場合仍需要程式員手動進行記憶體管理。在32位的處理器上,每個進程的虛擬記憶體為4GB,.NET會在這4GB的記憶體塊中開闢出3塊記憶體,分別作為棧、託管堆、和非託管堆堆(heap):堆是從下往上分配,所以已用的空間在自由空間下面,C#中所
Time of Update: 2017-01-18
方法一:複製代碼 代碼如下:/// <summary> /// 中文字元工具類 /// </summary> private const int LOCALE_SYSTEM_DEFAULT = 0x0800; private const int LCMAP_SIMPLIFIED_CHINESE = 0x02000000; private const int LCMAP_TRADITIONAL_CHINESE = 0x040
Time of Update: 2017-01-18
複製代碼 代碼如下:using System;using System.Collections.Generic;using System.Linq;using System.Text;namespace 列印正三角{ class Program { static void Main(string[]
Time of Update: 2017-01-18
做項目時發現Path.Combine方法只能支援傻瓜式的目錄拼接複製代碼 代碼如下://絕對路徑string absolutePath = @"C:\Program Files\Internet Explorer";//相對路徑string relativePath = @"..\TestPath\";//預計拼接結果string splicingResult = string.Empty;Console.WriteLine(string.Format("Path.Combine(\"{0}\"
Time of Update: 2017-01-18
1.在Winform裡使用WebBrowser,要對Form1.cs添加一些東西: 1.1 在“public partial class Form1 : Form”上方,添加:複製代碼 代碼如下:[PermissionSet(SecurityAction.Demand, Name = "FullTrust")][System.Runtime.InteropServices.ComVisibleAttribute(true)] 1.2
Time of Update: 2017-01-18
查看公司項目代碼時,存在這樣一個問題:winform介面上有很多資訊填寫,提交後台伺服器更新,但資料的合法驗證及值的轉換卻不太敢恭維,一堆的if判斷和轉換,便想著是否能擴充個方法出來,琢磨出個思路,記錄下來與大家共同探討,有不對的地方還請大家指正。 設計思路: 1.
Time of Update: 2017-01-18
引言
Time of Update: 2017-01-18
String類有不可改變性。每次執行字元操作時,都會建立一個新的String對象。StringBuilder 類解決了對字串進行重複修改的過程中建立大量對象的問題。初始化一個StringBuilder 之後,它會自動申請一個預設的StringBuilder 容量(預設值是16),這個容量是由Capacity來控制的.並且允許,我們根據需要來控制Capacity的大小,也可以通過Length來擷取或設定StringBuilder 的長度.舉例: 用String類這麼寫複製代碼
Time of Update: 2017-01-18
“Hello World!”的程式寫過不少,不過都是在黑色背景的控制台上顯示白色的文字。這次決定寫點特別的,讓“Hello World!”變成彩色的文字。範例程式碼如下:複製代碼 代碼如下:using System;using System.Runtime.InteropServices;[assembly:CLSCompliant(true)]namespace ColorConsole{ public sealed class
Time of Update: 2017-01-18
找到GetShortPathName的方法簽名,DWORD GetShortPathName(LPCTSTR tpszLongPath,TPTSTR lpszShortPath,DWORD cchBuffer);非託管及管理的資料類型對應關係:LPCTSTR StringLPTSTR
Time of Update: 2017-01-18
源碼:複製代碼 代碼如下:[StructLayout(LayoutKind.Explicit)] public struct IP { public IP(UInt32 value) { this._text1 =
Time of Update: 2017-01-18
問題:startTime = DateTime.Now; -----------slExecutedTime.Text = (DateTime.Now - startTime).ToString();執行結果:已執行:00:00:03.1234434(後面會多出很多的小數位)想要的執行結果:已執行:00:00:03--------------------------
Time of Update: 2017-01-18
首先要安裝SpeechSDK5.1 開發包和SpeechSDK5.1 Langague Pack(中英文) 語言套件,不過VS2010裡是內建SpeechSDK5.0的com組件的,也可以用。 簡單講一下四個方法:朗讀時,使用複製代碼 代碼如下:voice.Speak(string,SpeechVoiceSpeakFlags.SVSFlagsAsync);暫停,使用複製代碼 代碼如下:voice.Pause();從暫停中繼續剛才的朗讀,使用複製代碼 代碼如下:voice.Resume(
Time of Update: 2017-01-18
Console.Write 表示向控制台直接寫入字串,不進行換行,可繼續接著前面的字元寫入。Console.WriteLine 表示向控制台寫入字串後換行。Console.Read 表示從控制台讀取字串,不換行。Console.ReadLine 表示從控制台讀取字串後進行換行。Console.ReadKey 擷取使用者按下的下一個字元或功能鍵,按下的鍵顯示在控制台視窗中。Console.Beep 通過控制台擴音器播放提示音。Console.Clear
Time of Update: 2017-01-18
代碼如下:複製代碼 代碼如下:static void Main(string[] args) { Console.WriteLine(Exec(GetSet));
Time of Update: 2017-01-18
GB2312是簡體中文系統的標準編碼 用“區” 跟“位”的概念表示 稱之為區位碼 區指代大的範圍 位相當於位移量。每個漢字佔兩個位元組高位位元組”的範圍是0xB0-0xF7,“低位位元組”的範圍是0xA1-0xFE。它的規律好像是按拼音a到z的順序排列的“啊”字是GB2312之中的第一個漢字,它的區位碼就是1601為此我們現在用代碼的方式輸出一個漢字c#下是little位元組序 b0跑後面去了。複製代碼 代碼如下: ushort u = 0xa1b0; byte[] chs
Time of Update: 2017-01-18
1. foreach語句C#編譯器會把foreach語句轉換為IEnumerable介面的方法和屬性。複製代碼 代碼如下: foreach (Person p in
Time of Update: 2017-01-18
•靜態建構函式既沒有存取修飾詞,也沒有參數。•如果沒有編寫靜態建構函式,而這時類中包含帶有初始值設定的靜態欄位,那麼編譯器會自動產生預設的靜態建構函式。•在建立第一個類執行個體或任何靜態成員被引用時,.NET將自動調用靜態建構函式來初始化類,也就是說我們無法直接調用靜態建構函式,也就無法控制什麼時候執行靜態建構函式了。•如果類中包含用來開始執行的 Main 方法,則該類的靜態建構函式將在調用 Main
Time of Update: 2017-01-18
比如定義了一個錯誤的枚舉類型複製代碼 代碼如下:public enum eErrorDetailCode : int { 登陸成功 = 0,
Time of Update: 2017-01-18
複製代碼 代碼如下:string t = DateTime.Now.Ticks.ToString(); t = DESKey.DESEncrypt(t, DESKey.DesKeyStr); string[] strid = new