Time of Update: 2018-12-07
無廢話C#設計模式之一:開篇 什麼是設計模式? 什麼是少林拳呢?少林拳是少林僧人經過長期的總結,得出的一套武功套路。有一本叫做少林拳法的武功秘籍,上面記載這這套拳法的適用人群,打法套路和學成後的效果。設計模式雖然記錄在了設計模式一書上,但是要真正掌握設計模式光靠看每一個模式的結構並且進行模仿是不夠的。試想一下,在真槍實戰的情況下,誰會和你按照少林拳法,一二三四的套路打呢?打套路也只能用來看看,只有當你能根據不同的情境靈活出招的時候才能說是學會了這套拳法。相似的例子還有三十六計,
Time of Update: 2018-12-07
firelong我真得希望你來看一看,可惜上一篇你錯過了。c#會這麼慢的話題卻是始終充滿著火藥味,也許說真話真的很不動聽, 可能上次的文章firelong沒看到,討論C#哪能錯過微軟,.NET戰略是微軟當年的號稱終極兵器的究級必殺技,C#和微軟不得不說的故事才是C#為什麼會這麼慢的最終解釋。首先我們要明白,C#的媽-微軟是幹什麼的。微軟是世界上最大的作業系統軟體供應商,現在微軟最大的現金收入是來自,作業系統,資料庫軟體和office。微軟想要的是什麼,是賣出更多的作業系統,更多的資料庫軟體...
Time of Update: 2018-12-07
1.揭密extern "C"extern "C"包含雙重含義,從字面上即可得到:首先,被它修飾的目標是 "extern”的;其次,被它修飾的目標是 "C”的。 首先來看一下 "extern”的含義: a.在一個檔案內,如果外部變數不在檔案的開頭定義,其有效範圍只限定在定義到檔案的結束處。如果在定義前需要引用該變數,則要在引用之前用關鍵字 "extern”
Time of Update: 2018-12-07
Effective C# 原則12:選擇變數初始化而不是指派陳述式Item 12: Prefer Variable Initializers to Assignment Statements (譯註:根據我個人對文章的理解,我把initializer譯為:初始化器,它是指初始化文法,也就是在一個類裡聲明變數的同時,直接建立執行個體值的方法。例:object m_o = new
Time of Update: 2018-12-07
Effective C# 原則20:明辨介面實現和虛函數重載的區別Item 20: Distinguish Between Implementing Interfaces and Overriding Virtual Functions 粗略的看一下,感覺實現介面和虛函數重載是一樣的。你定義了一些對象,但是這些對象是在另一個類型裡申明的。你被第一感覺騙了,實現介面與虛函數重載是完全不同的。在介面裡定義的成員預設情況下,是根本不存在實際內容的。衍生類別不能重載基類中的介面成員。介面可以隱式的實現,
Time of Update: 2018-12-07
Effective C# 原則44:建立應用程式特定的異常類Item 44: Create Complete Application-Specific Exception
Time of Update: 2018-12-07
Effective C# 原則26:用IComparable和IComparer實現對象的循序關聯性Item 26: Implement Ordering Relations with IComparable and IComparer你的類型應該有一個循序關聯性,以便在集合中描述它們如何儲存以及排序。.Net架構為你提供了兩個介面來描述對象的循序關聯性:IComparable 和IComparer。IComparable
Time of Update: 2018-12-07
Effective C# 原則35:選擇重寫函數而不是使用事件控制代碼Item 35: Prefer Overrides to Event
Time of Update: 2018-12-07
先把重點寫在前頭:http://code.msdn.microsoft.com/Release/ProjectReleases.aspx?ProjectName=csharpfuture&ReleaseId=1686以上這個地址是下載官方C#4.0的最新文檔和Sample Code,而以下正是我看到第一個例子,關於Office的操作。可見它的例子品質還是蠻高的,值得學習,所以分享給大家,也許有些人已經知道這個連結,如果不能下載,留言告訴我,我到時下載到cnblogs裡。 前言:從C#1.
Time of Update: 2018-12-07
第一:綁定運算子,:=:這個只是簡化了資料繫結,跟ASP.NET
Time of Update: 2018-12-07
/** * @file 020_move_string.c * @author dinghuaneng * @date 2011.06.22 * @brief 將字串進行向左旋轉,即迴圈左移的演算法實現。 * 最後那種方法在時間和空間上都很高效,且代碼簡短,很難出錯。 * 最節約空間和時間的方法來源:《編程珠璣》 * @defgroup move_string * @{ */#include <stdio.h>#include
Time of Update: 2018-12-07
C#XML讀取、增加、修改和刪除操作 1.xml檔案格式如下:<?xml version="1.0" encoding="utf-8"?><projects><project name="PlatformFramewo" vss-path="Platform$/Source CodHdt$Pla~1.sln" /></projects>1.讀取DataSet ds = new DataSet();ds.ReadXml(Server.MapPath(
Time of Update: 2018-12-07
Effective C# 原則47:選擇安全的代碼Item 47: Prefer Safe
Time of Update: 2018-12-07
Effective C# 原則33:限制類型的訪問Item 33: Limit Visibility of Your Types並不是所有的人都須要知道所有的事。也不是所有的類型須要是公用的。對於每個類型,在滿足功能的情況下,應該儘可能的限制存取層級。而且這些存取層級往往比你想像的要少得多。在一個私人類型上,所有的使用者都可以通過一個公用的介面來訪問這個介面所定義的功能。讓我們回到最根本的情況上來:強大的工具和懶惰的開發人員。VS.net對於他們來說是一個偉大的高產工具。我用VS.net或者C#
Time of Update: 2018-12-07
英文原版地址:http://www.sellsbrothers.com/writing/default.aspx?content=delegates.htm .NET委託:一個C#睡前故事 英文版原作者:Chris Sells(www.sellsbrothers.com)翻譯:袁曉輝(www.farproc.com
Time of Update: 2018-12-07
Wtypes.h 中的非託管類型 非託管C 語言類型 託管類名 說明HANDLE void* System.IntPtr 32 位BYTE unsigned char System.Byte 8 位SHORT short System.Int16 16 位WORD
Time of Update: 2018-12-07
最近做中興的程式設計競賽中一道題,需要用到資料存放區功能。每隔一段時間會收到一組資料,依次把這一組資料存放區到檔案中,但是需要設定一個值,該值表示能夠儲存的最大條數。如果達到這個條數之後,就像前覆蓋一條記錄,把新的存進去。這個值是中途可以更改的。 於是思路就成了,刪除第一條記錄,再在檔案末尾增加新的記錄。 首先聲明一個list<int>儲存每條記錄的長度。Code highlighting produced by Actipro
Time of Update: 2018-12-07
文章系參考轉載,英文原文網址請參考:http://www.albahari.com/threading/ 作者 Joseph Albahari, 翻譯 Swanky Wu 中文翻譯作者把原文放在了"google 協作"上面,GFW屏蔽,不能訪問和查看,因此我根據譯文和英文原版整理轉載到園子裡面。 本系列文章可以算是一本很出色的C#線程手冊,思路清晰,要點都有介紹,看了後對C#的線程及同步等有了更深入的理解。入門 概述與概念 建立和開始使用多線程 線程同步基礎同步要領 鎖和安全執行緒
Time of Update: 2018-12-07
using System;using System.Runtime.InteropServices;using System.Drawing;using System.Drawing.Imaging;namespace Video{/// <summary>/// 一個控制網路攝影機的類/// </summary>public class VideoWork{private const int WM_USER = 0x400;private const int
Time of Update: 2018-12-07
B/S結構,即Browser/Server(瀏覽器/伺服器)結構,是隨著Internet技術的興起,對C/S結構的一種變化或者改進的結構。在這種結構下,使用者介面完全通過WWW瀏覽器實現,一部分事務邏輯在前端實現,但是主要事務邏輯在伺服器端實現,形成所謂3-tier結構。B/S結構,主要是利用了不斷成熟的WWW瀏覽器技術,結合瀏覽器的多種Script語言(VBScript、JavaScript…)和ActiveX技術,用通用瀏覽器就實現了原來需要複雜專用軟體才能實現的強大功能,並節約了開發成本,