Time of Update: 2018-12-07
c#4.0中的dynamic早已不是新聞了,雖然內部用反射機制,略微會有一些效能上的額外開銷,但是有些特殊情境還是很有用的,二害相權,取其輕吧(也正是因為這些動態編程特性,Python,Ruby這類動態語言能更方便的融入到.net平台中)using System;using System.Collections.Generic;using System.Dynamic;namespace DynamicTest{ class Program { public
Time of Update: 2018-12-07
圖1描述的資料結構就是“樹”,其中最上面那個圈圈A稱之為根節點(root),其它圈圈稱為節點(node),當然root可以認為是node的特例。樹跟之前學習過的線性結構不同,它是一對多的非線性結構,具有二個基本特點:1、根節點(root)沒有前驅節點,除root之外的所有節點有且只有一個前驅節點2、樹中的所有節點都可以有0個或多個後繼節點。所以下面這些歪瓜咧棗,不能算是樹: 圖2下是是一些煩人但是很重要的術語: 1、結點(Node)
Time of Update: 2018-12-07
以前為了趕項目遇到這種需求時,也沒過多考慮效能因素,隨便寫了一個(現在看起來很原始的)方法來實現:static bool IsGuidByError(string strSrc) { if (String.IsNullOrEmpty(strSrc)) { return false; } bool _result = false; try { Guid _t =
Time of Update: 2018-12-07
我們常做的一件事情,就是在文章系統中,截取一定長度的文章標題,超過指定長度,就加“...”如兩個字串:string str1 = "中國人要啊abc呀~";string str2 = "1中國人23456abc呀~";要截取後,輸出:str1 = "中國人要...";str2 = "1中國人2...";即要把中英文混合的字串,在截取後,長度要一致,即8個位元組的長度(不包括三個點),而且不能出現中文被從中間截斷的情況。於是寫了個方法:using
Time of Update: 2018-12-07
很早以前寫過一篇文章(用C#截取指定長度的中英文混合字串),但是對效能沒有測試,有人說我寫的這個方法效能有問題,後來想,可能真會有BT之需求要求傳入一個幾萬K甚至幾M體積的字串進來,那將會影響正則Match的速度,比如文章系統中就極有可能用到,今天有點時間,就改進了一下,代碼如下: public static string getStr(string s,int l,string endStr) { string temp = s.Substring(0, (s.Len
Time of Update: 2018-12-07
一個好的名字能夠讓你的程式更加好懂,別人一看到這個名字,就能夠猜到你在做什麼。大量好的名字離不開好的命名規範,而一個好的命名規範要做到兩點:l 合理。即容易被大家接受和使用。從這個意義上來說,好的命名規範不應該太長,它應該讓你花上10分鐘就能看完,寫過幾段代碼就能熟悉。l
Time of Update: 2018-12-07
在 C# 中的 new 關鍵字,除了能夠當作建立 instance、呼叫 constructor 的運運算元 (operator) 外,亦可作為「隱藏;遮蔽 (shadow)」用的修飾詞 (modifier),並可用來修飾 method、property、field,以及「巢狀類 (nested class)」裡面的 class。在「父類 (base class)」、「子類 (derived class)」中若存在同名的 field,在 Java 中預設會由子類的 field 直接
Time of Update: 2018-12-07
這裡討論的僅限於內部排序(即全部資料都在記憶體中,通過CPU運算處理元素排序),而且僅限順序表排序(即不討論鏈表,樹狀結構等結構的排序)註:排序後的結果可以從小到大,或者從大到小,這隻是一個相反的處理而已,為方便起見,本文中的方法都是從小到大排序1、直接插入排序(InsertOrder)思路:從第二個元素開始向後遍曆,檢查本身(後面稱之為tmp)與前面相鄰元素的大小,如果發現前面的元素更大,則依次從近及遠(即倒序遍曆)檢查前面的所有元素,將比自身元素大的元素依次後移,這樣最終將得到一個空位,將t
Time of Update: 2018-12-07
買不起iPhone4,只能弄了一台iTouch4,想嘗試一下iOS上的開發,雖然有monoTouch可用,但是這東西要399美金授權,換成RMB好幾千塊了,算了,為了省錢,還是老老實實複習C 吧,然後升級到Objective-C。1.1 在你自己的系統中運行“hello, world”程式。再有意去掉程式中的部分內容,看看會得到什麼出錯資訊。#include <stdio.h> //雖然預設已經包括了stdio.h,但還是建議加上,以保證代碼結構清晰 //main函數總是返回int,
Time of Update: 2018-12-07
5、堆排序(HeapSort)在接觸“堆排序”前,先回顧一下資料結構C#版筆記--樹與二叉樹 ,其中提到了“完全二叉樹”有一些重要的數學特性:就是一顆完全二叉樹,如果每個節點按從上到下,從左至右標上序號,則可以用數組來實現順性儲存,同時其序號:1、如果i>1,則序號為i的父結節序號為i/2(這裡/指整除) 言外之意:整個數組前一半都是父節點,後一半則是分葉節點2、如果2*i<=n(這裡n為整顆樹的節點總數),則序號為i的左子節點序號為2*i3、如果2*i +1
Time of Update: 2018-12-07
習慣於用某一種語言做開發,時間長了以後很多人可能會對其它語言有排斥或抵觸,其實... 退一步海闊天空!比如:經常看到有人問"如何用c# ping 網址?",園子裡搜尋了一下:[c#下實現ping操作]這篇算是總結得比較全面了,但其實...如果願意暫時從C#的世界中退出來環顧一下周圍,方法更簡單:先添加對Microsoft.VisualBasic的引用,然後參考下面的代碼:...using Microsoft.VisualBasic.Devices;...Computer myComputer =
Time of Update: 2018-12-07
年紀大了記性差了,轉過來方便以後要的時候粘貼複製出自:http://gsqls.blog.163.com/blog/static/459712182009112873327312/C#擷取當前路徑的方法如下:1. System.Diagnostics.Process.GetCurrentProcess().MainModule.FileName -擷取模組的完整路徑。2.
Time of Update: 2018-12-07
堆棧(Stack)最明顯的特徵就是“先進後出”,本質上講堆棧也是一種線性結構,符合線性結構的基本特點:即每個節點有且只有一個前驅節點和一個後續節點。相對前面學習過的順序表、鏈表不同的地方在於:Stack把所有操作限制在"只能線上性結構的某一端"進行,而不能在中間插入或刪除元素。下面是:從中可以看出,堆棧有二種實現方式:基於數組的順序堆棧實現、類似鏈表的鏈式堆棧實現先抽象堆棧的介面IStack:namespace 棧與隊列{ public interface IStack<T>
Time of Update: 2018-12-07
記錄這篇文章的靈感來源來自今天下班前與同事的小小爭論,我現在開發的一個項目中,有這樣一段代碼:public string ToXML() { string strXml = string.Empty; try { MemoryStream ms = new MemoryStream(); XmlSerializer xml = new
Time of Update: 2018-12-07
String 對象是不可改變的。每次使用 System.String 類中的方法之一時,都要在記憶體中建立一個新的字串對象,這就需要為該新對象分配新的空間。在需要對字串執行重複修改的情況下,與建立新的 String 對象相關的系統開銷可能會非常昂貴。如果要修改字串而不建立新的對象,則可以使用 System.Text.StringBuilder 類。例如,當在一個迴圈中將許多字串串連在一起時,使用 StringBuilder 類可以提升效能。 通過用一個重載的建構函式方法初始設定變數,可以建立
Time of Update: 2018-12-07
Complete C# code:----------------using System;using System.ComponentModel;using System.Configuration;using System.Web.UI;using System.Web.UI.WebControls;namespace CustomGridView{/// <summary>/// Summary description for ClickableGridView/// <
Time of Update: 2018-12-07
文章目錄 .net工資管理系統 .net工資管理系統專為中心型連鎖銷售企業定製開發,已成功用於工資核算幾個月,系統穩定、易用。 功能簡介:一、簡潔靈活的部門及崗位設定,可快速尋找到特定員工。 二、基於運算式計算的工資項目,自動計算出員工的實發工資。 三、可匯出到工商銀行批量轉帳檔案及Excel表格檔案。四、對工資發放可完全定製員工及工資項。 五、更多請下載體驗。
Time of Update: 2018-12-07
如果你對windows7庫的概念不瞭解,請先看這篇介紹:Windows 7新功能:庫(Library) 以下是一些常見的Windows 7庫功能的一個快速參考,使用了Windows API Code Pack。這篇文章中的代碼來自Alon和Sela工作小組的成員。每個Windows
Time of Update: 2018-12-07
首先我必須承認訪問一個類的私人成員不是什麼好做法。大家也都知道私人成員在外部是不能被訪問的。而一個類中會存在很多私人成員:如私人欄位、私人屬性、私人方法。對於私人成員訪問,可以套用下面這種非常好的方式去解決。private string name;public string Name{ get { return name; } set { name = value; }}
Time of Update: 2018-12-07
原文:http://www.cnblogs.com/michaelxu/archive/2008/04/02/1134217.html事件(event),這個詞兒對於初學者來說,往往總是顯得有些神秘,不易弄懂。而這些東西卻往往又是編程中常用且非常重要的東西。大家都知道windows訊息處理機制的重要,其實C#事件就是基於windows訊息處理機制的,只是封裝的更好,讓開發人員無須知道底層的訊息處理機制,就可以開發出強大的基於事件的應用程式來。