Time of Update: 2018-12-07
C#中string和StringBuilder的選擇2010-07-11 14:26:54 我來說兩句 收藏 我要投稿 [字型:小 大] 很多地方都講,在做字串拼接的時候StringBuilder比string快,並且快得多。事實是,StringBuilder比string快的原因是string拼接時產生了中間對象,最終是垃圾。如:string str = "a";str += "b";str +=
Time of Update: 2018-12-07
項目中經常與硬體打交道,LED顯示屏上面的液晶數字很好看,QT中直接就有數位管這個控制項,C#中自己來寫一個,其實掌握了一種自訂控制項的寫法,其他的都是浮雲,舉一反三,最笨的自訂控制項無非就是準備好精美的圖片,然後雙緩衝根據條件繪製到介面上,將手機QQ和金山毒霸手機版下載寫來,拓展名改為rar,解壓出來,在 res檔案夾下面可以看到所有使用的資源,直接拿過來用咯。其實手機軟體大部分效果都是繪製圖片+文字而成的。:一個動態液晶時鐘 步驟1:準備0-9十張圖片
Time of Update: 2018-12-07
static class Program { private const int WS_SHOWNORMAL = 1; [DllImport("User32.dll")] private static extern bool ShowWindowAsync(IntPtr hWnd, int cmdShow); [DllImport("User32.dll")] private static extern bool
Time of Update: 2018-12-07
首先由於該方法用LinkDemand檢查SecurityPermissionAttribute.SerializationFormatter許可權,因此部分受信任環境下可能無法使用。該方法相比Deserialize方法有更好的效能。 代碼://+ using System.Runtime.Serialization.Formatters.Binary//+ using System.IO; //建立一個100個元素的字典var dic = new Dictionary<int,
Time of Update: 2018-12-07
在一個NAMESPACE中,我們也可以用一個別名指代現有的NAMESPACE或是一些其他類型資料。 別名的使用格式如下: using 別名 = 一個已經存在的類型; 例如:using soholife = System; 下面我們通過幾個例子來加深一下理解: namespace N1.N2 { class A {} } namespace N3 { using A = N1.N2.A; class B: A {} } 這裡,在N3中,A是N1.N2.A的別名,而N3.B則繼承於N1.N2.A!
Time of Update: 2018-12-07
"變數"僅僅是資料的儲存位置。你可以把資料存放到其中,或者從中取出來作為C#運算式的一部分。變數中所存放的資料的含義是通過類型來控制的。 C#是個強型別(???)的語言。這樣,一切對變數的操作都是針對該變數的類型而進行的。為了保證變數中所存放資料的合法性和一致性,對不同類型的變數進行操作有相應的規則。 C#語言的簡單類型包含布爾類型和三種數實值型別:整型,浮點型和小數。 1.清單1-1 顯示布爾值:Boolean.csusing System;class Booleans {public
Time of Update: 2018-12-07
一 介紹委託和事件 事件是特殊化的委託,委託是事件的基礎,所以在介紹事件之前先介紹一下委託。 委託:使用委託可以將方法應用(不是方法)封裝在委派物件內,然後將委派物件傳遞給調用方法的代碼,這樣編譯的時候代碼就沒有必要知道調用哪個方法。通過使用委託程式能夠在運行時動態調用不供的方法。
Time of Update: 2018-12-07
using System;using System.Xml;using System.Text;using System.Net;using System.IO;using System.Collections;using System.Text.RegularExpressions;public class App{ public static void Main() { string strCode; ArrayList
Time of Update: 2018-12-07
想寫一個傳統型程式,用C#。程式運行後,會用IE開啟指定的網頁,並自動登入網站,再根據需要進行一些操作。關鍵是不知道怎麼控制IE瀏覽器,請大家指點一下。相關內容如下:C#控制IE瀏覽器引入 C:\WINDOWS\System32\mshtml.tlb、Interop.SHDocVw.dll/// <summary>/// 返回指定Url的IE視窗下的 IHTMLDocument2 對象。/// </summary>///
Time of Update: 2018-12-07
Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/--> private string SendRequest(string account, string cardNumber, string cardPass) { string targetUrl = https://xxx.com/;//要提交資料的目標網站
Time of Update: 2018-12-07
情境:最近在測試一個.NET的Http Module,這個Module是用來做URL重寫的。剛開始進展的比較順利,因為該Module裡面的方法參數基本上都是String,後來這個Module進行了一下重構,所有參數都變成了HttpContext了,這就直接導致原來的單元測試都跑不起來了,接著就開始了弄HttpContext了。1. 採用Visual
Time of Update: 2018-12-07
1. 水晶易表不能識別WS介面返回的DataTable或DataSet資料類型,會提示“無法載入URL”3. C#調用Oracle的Package,並返回資料列表2. 經查證,可以接受string類型的,如果需要返回資料列表,那麼需要藉助數組來返回,代碼實現如下:public WeekSale_Table GetData(string skc1, string skc2, string week1, string week2, string week3, string week4)
Time of Update: 2018-12-07
由於要在Web項目中採用RFID讀取功能,所以有必要開發Activex,一般情況下開發Activex都採用VC,VB等,但對這兩塊不是很熟悉,所以採用C#編寫Activex的方式實現。本文方法參考網路1.編寫WindowsFromControls2.發布WindowsFormControls為Activex3.在web中使用該Activex 首先編寫windows控制項如何編寫不再詳述(注意一個地方,GUID自己用vs工具產生一個,下面會用到。我的0CBD6597-3953-4B88-8C9F
Time of Update: 2018-12-07
背景隨著富用戶端架構的盛行,以及眾多優秀的前端js架構,很多情況我們會遇到跨域的問題,而js的ajax請求是不允許直接跨域訪問的,當然你會說可以用JSONP等,但是由於代碼潔癖,不想在前端和後台添加callback,而且很多情況你是無法控制的,需要牽連考慮太多的情況。所以我直接繞過了,每個前端應用,內建一個通用後端服務代理,該服務解決跨域問題,自動代理幫前台擷取跨域的資料。 如何算跨域雖然是個老問題,但是還是要提醒注意下兩點:同IP,不同連接埠,資料訪問是跨域的,但是Cookie訪問是可以的(這
Time of Update: 2018-12-07
先說結論,如果有兩個擁有相同程式集名稱的強命名程式集,一個在GAC裡,一個不在。怎樣動態載入那個不在GAC裡的程式集?答案就是只有Assembly.ReflectionOnlyLoadFrom才可以載入這個程式集。 比如我們把system.dll檔案拷貝到D盤(注意應用程式定義域預設會載入mscorlib.dll,而不是system.dll)。然後試試用下面的方法:var path =
Time of Update: 2018-12-07
第一次使用這種方式發郵件呵呵,就比如拿我的Live郵箱往QQ郵箱上發一封郵件。使用SmtpClient發送郵件的步驟就不講了,在網上你可以找到太多的資料了,這裡說一些需要注意的地方:如果郵件的內容是HTML,設定MailMessage.IsBodyHtml為True,這樣郵件才能夠被正確以HTML形式讀取。 在HTML中引用資源使用cid:xxx,xxx是附件的ContentId屬性。同時也可以在MailMessage中的AlternateViews中加入AlternateView來指定電子郵件
Time of Update: 2018-12-07
使用MethodBase類的的GetMethodBody方法可以一個MethodBody對象,從這個對象可以得到一些對應方法的資訊。MethodBody可以直接返回當前方法的IL原始位元組。還可以使用LocalVariables屬性返回一系列的VariableInfo對象,後者提供方法內本地變數的資訊。 其中MethodBody的InitLocals屬性和MaxStackSize分別指本地變數是否被初始化為0,和當前邏輯執行棧的最大長度。當你僅在代碼中聲明變數時:static void
Time of Update: 2018-12-07
注意:SecurityAction.RequestMinimum,RequestOptional,RequestRefuse在.NET 4.0後已被廢棄。不過其在.NET
Time of Update: 2018-12-07
做一個測試,這樣一個類,繼承IDisposable,當Dispose方法被調用時,輸出id欄位:class a : IDisposable{ int id; public a(int i) { id = i; } void IDisposable.Dispose() { Console.WriteLine(id); }} 然後:using (new a(1))using (new a(2))using (new a(3)){
Time of Update: 2018-12-07
更新:關於out參數,推薦讀者讀這篇文章: .NET(C#):從IL和反射Emit更徹底地理解out參數本文將示範通過DynamicMethod類型建立兩個動態方法,分別有ref和out參數。首先看這樣一個簡單的方法:static int add(ref int i, int count){ return i += count;}讓我們建立一個執行上面功能的動態方法,然後調用它。 代碼://+ using System.Reflection;//+ using