Time of Update: 2018-12-06
本文為《c#擴充方法奇思妙用》系列文章基礎篇,比較簡單,沒有太多技術含量,不用太多解釋。同前面,主要提供大家一個思路,如需要使用,請自行完善。 應用一:轉換為十六進位字串Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/--> 1 public static string ToHex(this byte b) 2 { 3
Time of Update: 2018-12-06
先看下ScottGu對In的擴充:調用樣本1:調用樣本2:原文地址:New "Orcas" Language Feature: Extension Methods 很多介紹擴充方法的也大都使用"In"作為例子,但很少有人再深入想一步。個人感覺這個In擴充的不夠徹底,試看如下代碼:Code highlighting produced by Actipro CodeHighlighter
Time of Update: 2018-12-06
Enumerable.Cast<T>用於將IEnumerable轉換為泛型版本IEnumerable<T>。轉換後可盡情享用Enumerable的其它方法(如Where、Select),給我們的編碼帶來極大便利。但MSDN中僅給出一個轉換ArrayList的例子,很多人看了感覺現在都在用List<T>,還有誰會用ArrayList,Cast<T>沒多少用處,除非處理一些之前遺留的一些代碼。其實Cast<T>並非如此簡單,它可以用在很多地
Time of Update: 2018-12-06
在Web開發中,jQuery提供了功能異常強大的$選取器來協助我們擷取頁面上的對象。但在WinForm中,.Net似乎沒有這樣一個使用起來比較方便的選取器。好在我們有擴充方法,可以很方便的打造一個。 我們先看幾個類圖,深入認識一下我們常用的WinForm控制項: 圖1 ScrollableControl類圖圖2 ButtonBase類圖 圖3 TextBoxBase類圖 圖4 ListControl類圖 圖5 Label類圖 圖6
Time of Update: 2018-12-06
c#擴充方法出來已久,介紹的文章也很多,但都是籠統的。本人最近一直在思考擴充方法的應用,也悟出了一些,準備將這最近一段時間對擴充的思考,寫成一個系列文章。每個文章只介紹一個應用方面,篇幅不會太長。先聲明一下,本系列文章主要為提供一個新的編程的思路(所提供的代碼僅供參考,不足處請包涵),希望大家把討論的重點放在編程思想上。打算將文章寫成三個部分:基礎篇、進階篇、變態篇。1.基礎篇簡單易懂,主要是一些常用操作。2.進階篇會將擴充方法與泛型、委託、lambda運算式、反射、非同步呼叫、多線程等相接合。
Time of Update: 2018-12-06
聲明:本文僅提供一種編程思路,所提供代碼僅供參考,如需使用,請自行完善。我們在做程式的的時候經常要處理使用者輸入,作為我們的主要語言中文,經常會出現全形、半形的問題,這會在查詢時給我們帶來很多麻煩。本文採用擴充方法解決全半形切換的問題,代碼如下:中文處理擴充Code highlighting produced by Actipro CodeHighlighter
Time of Update: 2018-12-06
string是c#裡面最最常用的類,和它的使用頻度比起來,它的操作確少的可憐,執行個體方法只有三十個左右,靜態方法只有十多個,遠遠滿足不了我們日常的需求。本文使用擴充方法來增加string的功能,舉出幾個例子,也算是拋磚引玉吧!首先我們把string類最常用的靜態方法IsNullOrEmpty擴充成“執行個體”方法:Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.
Time of Update: 2018-12-06
下面是我實現的一個資料檔案隨機讀取類,可以隨機讀取大型文字檔的某一行。在我機器上對一個130MB的文字檔,讀取第200000的速度從傳統做法的400ms提高到了3ms。一般對文字檔進行讀取時,一般採用ReadLine()進行逐行讀取。在這種情況下,C#內的FileStream和BufferedStream類處理綽綽有餘了。它不會將整個檔案全部讀入,而是有緩衝的讀。但是,要想隨機讀取某一行,在行資料長度不統一的情況下,如果每次這樣遍曆到指定行,其效率顯然是很低下的。當然,代價也是有的,引入了第一次
Time of Update: 2018-12-06
轉自http://hui06242007.blog.163.com/blog/static/46967621200851931436619/C# Regex 深入RegexRegex(Regular expressions)是一套文法匹配規則,各種語言,如Perl,
Time of Update: 2018-12-06
C#讀取Excel檔案資料 相當簡單,Excel就像資料庫,每個Sheet就是一個Table. Microsoft.Jet.OLEDB驅動.之後是DataReader迴圈,或DataSet處理都非常簡單.HTTP://BLOG.CSDN.NET/CRABO/注意:資料類型的轉換!!#region set connection string strConn = @"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=
Time of Update: 2018-12-06
c#的一些技巧c#的一些技巧: 1.怎樣定製VC#DataGrid欄位標題? DataGridTableStyle dgts = new DataGridTableStyle(); dgts.MappingName = "myTable"; //myTable為要載入資料的DataTable DataGridTextBoxColumn dgcs = new DataGridTextBoxColumn(); dgcs.MappingName = "title_id";
Time of Update: 2018-12-06
文章目錄 OleDbConnection 對象的 GetOleDbSchemaTable 方法建立列出資料庫中的表的樣本建立檢索表的架構的樣本建立列出表中的列的樣本建立列出表中的主鍵的樣本 本文示範如何用 ADO.NET 中 OleDbConnection 對象的 GetOleDbSchemaTable
Time of Update: 2018-12-06
今天是世界完全對稱日(2011 1102),所以就想寫一個演算法來計算一段時間內所有的完全對稱日。看看有多少日期是世界完全對稱日 描述:輸入開始和結束年份,求出其中所有的完全對稱日。輸入:輸入開始年份startYear和結束年份endYear (startYear < endYear);輸出:輸出所要求的完全對稱日。 解題思路:1)根據月份和天,逆序後算出對應的年份的日期 (如1月1號 -> 0101 ->
Time of Update: 2018-12-06
網路的Socket資料轉送是一種特殊的I/O,Socket也是一種檔案描述符。Socket也具有一個類似於開啟檔案的函數調用Socket(),該函數返回一個整型的Socket描述符,隨後的串連建立、資料轉送等操作都是通過該Socket實現的。什麼是Socket Socket介面是TCP/IP網路的API,Socket介面定義了許多函數或常式,程式員可以用它們來開發TCP/IP網路上的應用程式。要學Internet上的TCP/IP網絡編程,必須理解Socket介面。
Time of Update: 2018-12-06
explicit作用:在C++中,explicit關鍵字用來修飾類的建構函式,被修飾的建構函式的類,不能發生相應的隱式類型轉換,只能以顯示的方式進行類型轉換。explicit使用注意事項: * explicit 關鍵字只能用於類內部的建構函式聲明上。 * explicit 關鍵字作用於單個參數的建構函式。 *
Time of Update: 2018-12-06
(比如static_cast,相當於c裡面的轉換,dynamic_cast (父子之間轉換),const_cast 去掉常量性.)關於強制類型轉換的問題,很多書都討論過,寫的最詳細的是C++ 之父的《C++
Time of Update: 2018-12-06
訊號是軟體中斷所提供的用於處理非同步時間的一種機制,它有一個非常精確的生命週期。首先是一個時間引發一個訊號,然後核心將該訊號儲存起來,直到被傳遞出去,最後核心在適當的時候處理該訊號。核心處理訊號有三種方式:忽略,但是SIGKILL和SIGSTOP是不能被忽略的。捕獲並處理,核心暫停當前程式的執行,跳躍到一個先前註冊的一個函數,進程執行該函數,然後返回到暫停地方。執行預設操作,具體的操作取決有訊號類型,預設操作通常是終止進程。static void sigwinch_handler(int
Time of Update: 2018-12-06
http://hi.baidu.com/irenbest/blog/item/6353c7fdb3d77140d7887d13.html一 Window下的記憶體泄露檢測(以VC++環境為例)靈活自由是C語言的一大特色,但這個特色也難以避免的帶來一些副作用,比如記憶體泄露。眾所周知,記憶體泄露的問題比較複雜,程式正常運行時你看不出它有任何異常,但長時間運行或在特定條件下特定操作重複多次時,它才暴露出來。所以,記憶體泄露往往是難以發現,也難以定位解決的。Visual Leak
Time of Update: 2018-12-06
GNU計劃,又稱革奴計劃,是由Richard Stallman在1983年9月27日公開發起的。它的目標是建立一套完全自由的作業系統。它在編寫linux的時候自己製作了一個標準成為 GNU C標準。ANSI 美國國家標準協會,它對C做的標準ANSI C標準後來被國際標準協會接收成為 標準C 所以 ANSI C 和標準C是一個概念總體來說現在linux也支援標準C,以後標準C可以跨平台,而GUN c 一般只在linux c下應用18.1 ANSI C和標準C++的差別這裡的ANSI
Time of Update: 2018-12-06
http://bbs.byr.cn/pc/pccon.php?id=315&nid=68136寫程式時用malloc竟然出現段錯誤,而且明顯那塊沒有用錯,肯定是別的地方有記憶體流失的問題,導致最後記憶體流失了。需要好好查一查原因了。但程式中很多地方都用來malloc,記憶體全是隨便用的,要改起來估計十分麻煩。。。。 下面找了點malloc與free的介紹,先看下,然後趕緊改代碼。 在C語言的學習中,對記憶體管理這部分的知識掌握尤其重要!之前對C中的malloc()和free(