在C# 2.0版本中使用Extensions方法

在C# 2.0版本中使用Extensions方法   最近在測試一個ftp類時發現其在.netcf V2版本下無法編譯,但是卻可以編譯在3.0版本中。報錯地方如下:using System; using System.Runtime.CompilerServices; public static class Extensions { public static DateTime? ToDateTime(this WINAPI.FILETIME time)

資料結構學習(C++)——遞迴【1】

按照黃皮書的安排,到了該講遞迴的時候了。上網查了查,關於“遞迴”的文章可以說“汗牛充棟”——請原諒我在這裡犯酸,我的意思是,寫別人都寫臭的東西讓大家看,只是浪費大家的時間,所以我下面的東西應該是一些至少我看起來是新的東西,如果覺得有什麼不清楚的,請參閱相關的文章(太多了)。即使這樣,這篇文章還是不能把我想說的寫完,看來我這人真的有廢話的習慣。看過這樣一道題,問,“程式結構化設計的三種基礎結構,順序、選擇、迴圈是不是必須的?”當然,你知道這樣一個論斷,只要有這三種就足夠了;但是能不能更少呢?答案是

Qt學習書籍:C++ GUI Programming with Qt 4

C++ GUI Programming with Qt 4 By Jasmin Blanchette, Mark Summerfield ............................................... Publisher: Prentice Hall Pub Date: June 21, 2006 Print ISBN-10: 0-13-187249-4 Print ISBN-13: 978-0-13-187249-3 Pages:

C#設計模式之簡單工廠篇

首先定義一個介面,具體名為Idatabase,在這個介面中,定義好資料庫操作的方法名和參數,以及傳回值,本案例中我定義如下方法: public interface IDatabase {    bool Connect(string ConnectString);     bool Open();     bool Command(string SQL);     void Close(); }

【C#】串口操作實用類

        做工業通訊有很長時間了,特別是串口(232/485),有VB/VC/C各種版本的串口作業碼,這些代碼也經過了多年的現場考驗,應該說是比較健壯的代碼,但是目前卻沒有C#相對成熟的串口作業碼,最近用Moxa的裝置開發基於WinCE5.0的串口作業碼,所以就擴充完善了一下串口操作,特別是SendCommand函數,這是我比較常用的主從通訊代碼,不喜歡用事件或線程接資料,在規定的逾時時間內直接迴圈判斷要接收的資料。     下面是具體的代碼:   

C#開發WAP程式

GPRS上網,好象很多內容都是要付費的,就只有下載鈴聲,什麼圖片的,沒勁!最好能用手機看看小說,網路上好象沒有免費的WAP小說,辦公室的小妹妹也想用手機看小說,看來只有自己做一個了。 都說JAVA是開發WAP的利器,不過WAP需要這個“碼”轉到那個“碼”,真是麻煩,算了,看一下能不能用C#做一個WAP小站。 想來也很簡單的,WAP就是用UTF8編碼嘛,好象還有什麼WML之類的,WML在網上查查資料,就和XML差不多,平時用XML也蠻多的,WML也就簡單了,C#直接可以設RESPONSE的編碼的,

C#的多線程機制

一.多線程的概念 Windows是一個多任務的系統,如果你使用的是windows

善用 C# 3.0 Extensions 方法

或許大家覺得這東西過於簡單以至於無需一提? 但是在我參與的項目中,其實很多適用於 Extension Method 的地方,大家卻根本就沒有意識到。 Extension Method 的一個主要用途便是構造輔助方法。 在編程中為了抽象和簡化,我們會把一些常用但又不好專門為它們建立一個對象類的方法放到所謂的Helper 中,在使用時調用 Helper.Xxxx()。例如:public static class Helper{ public static SecureString

資料結構學習(C++)——圖【3】(無向圖)(上)

要是在紙上隨便畫畫,或者只是對圖做點示範性的說明,大多數人都會選擇無向圖。然而在電腦中,無向圖卻是按照有向圖的方法來儲存的——存兩條有向邊。實際上,當我們說到無向的時候,只是忽略方向——在紙上畫一條線,難不成那線“嗖”的就出現了,不是從一頭到另一頭畫出來的?無向圖有幾個特有的概念,連通分量、關節點、最小產生樹。下面將分別介紹,在此之前,先完成無向圖類的基本操作。無向圖類template <class name, class dist, class mem>class Graph :

資料結構學習(C++)——圖(總結)

以上就是現在的教科書裡面,圖的全部內容了。寫完之後,茫茫然,不知道學完之後有什麼用……就像我在開篇寫的,圖的應用太廣泛了,以至於現在覺得圖“沒什麼用”——很奇怪的邏輯,只有仔細體味才能覺察到寫教科書的人的無奈。不同於前面的鏈表和樹,在圖這裡,儲存方法不是重點,我們更多的注意力放在了演算法上。我在寫程式的時候,也盡量做到了演算法和儲存方法無關。然而演算法實際上就是現實問題的抽象,如果我們的常識所不及,我們也就沒有辦法來介紹演算法,反過來說,幾乎遇不到的問題,我們也不會對它的演算法感興趣。因此,在圖

資料結構學習(C++)——樹(總結)

才剛開了個頭,就要說再見了——在樹這裡,除了二叉樹,別的都還沒有講。為什麼可以總結了呢?因為前面已經涉及到了樹的兩個基本用途,而如果再講B+、B-,就不能不提到搜尋,如果是勝者樹就不能不提到排序。為此,把這部分放到後面。我前面所做的努力,只是讓你有個基本概念,什麼時候記得用樹。樹的兩個基本用途,可以用物質和精神來比喻。一個用途是做為資料儲存,儲存具有樹結構的資料——目錄、族譜等等。為了在實際上是線性儲存載體上(記憶體、磁碟)儲存非線性樹結構,必須有標誌指示出樹的結構。因此,只要能區分根和子樹,樹

資料結構學習(C++)——圖【2】(DFS和BFS)

對於非線性結構,遍曆都會首先成為一個問題。和二叉樹的遍曆一樣,圖也有深度優先搜尋(DFS)和廣度優先搜尋(BFS)兩種。不同的是,圖中每個頂點沒有了祖先和子孫的關係,因此,前序、中序、後序不再有意義了。仿照二叉樹的遍曆,很容易就能完成DFS和BFS,只是要注意圖中可能有迴路,因此,必須對訪問過的頂點做標記。最基本的有向帶權網#ifndef Graph_H#define Graph_H #include <iostream>#include <queue>using

資料結構學習(C++)——後記

這回真的是後記了,也就是到了這些文章結束的時候了。雖然還有排序和尋找兩大演算法系沒有講,但是對於“資料結構”而言,上面應該是全部了。並且這些文章加在一起已經很長了,每次開啟WORD來編輯,跳到末頁總是不那麼順暢,是到了結束的時候了。對於那兩大演算法系,我準備另外再開一個系列,姑且就叫做《資料結構學習(C++)續》吧。突然發現,在安排文章結構上不知不覺的受了《電腦編程藝術》的影響了。我的參考書主要是三本,《資料結構(用物件導向方法與C++描述)》(殷人昆等),《資料結構(C語言版)》(嚴蔚敏、吳偉

資料結構學習(C++)續——排序【1】測試程式

後面的常式,都是對數組的排序,使用靜態鏈表的也適用於鏈表的排序。為簡單起見,只對單關鍵碼排序,並且最後的結果都是從頭到尾按升序排列。下面是統一的測試程式:#include <iostream>#include <iomanip>using namespace std;#include <stdlib.h>#include <time.h>#include <math.h>#include "InsertSort.h"#define

Fuzzy c-means (FCM)聚類演算法

演算法原理 允許同一資料屬於多個不同的類。該演算法(developed by Dunn in 1973 and improved by Bezdek in 1981)經常用於模式識別,基於最小化下列目標函數:      ,     其中, m 是大於1的實數,uij 是xi 屬於類別 j隸屬度, xi 第i個測量到的d維資料, cj 是類j的聚類中心,||*|| 表示任一測量資料與聚類中心的相似性。

資料結構學習(C++)續——排序【6】內部排序總結

基數排序本文後面將會提到,我覺得將其和前面的排序演算法放在一起比較有些不倫不類。前面介紹了四類排序方法,每種都有基本型和改進型。對於內部排序,我們最關心的當然是速度,這也是為什麼快排受歡迎的原因。考慮到快排的缺陷,有時候我們可能會用堆排或者希爾排序、歸併排序。上面可能是選擇排序方法最直接的思路了(我們的選擇範圍也不算廣,就那幾個翻過來調過去的,好一點的,綜合一下搞一個“雜牌”),出於“賭徒”的思維,我們大多數人可能用快排包打天下——出最壞情況?我沒那麼倒黴吧?大不了再加一個“三者取中”(或者隨機

資料結構學習(C++)續——排序【4】選擇排序

【4】選擇排序基本思想是:每次選出第i小的記錄,放在第i個位置(i的起點是0,按此說法,第0小的記錄實際上就是最小的,有點彆扭,不管這麼多了)。當i=N-1時就排完了。直接選擇排序直選排序簡單的再現了選擇排序的基本思想,第一次尋找最小元素的代價是O(n),如果不做某種特殊處理,每次都使用最簡單的尋找方法,自然的整個排序的時間複雜度就是O(n2)了。template <class T>void SelectSort(T a[], int N, int& KCN,

資料結構學習(C++)續——續篇後記

我覺得續篇的寫作我很不負責任,越到後面越是如此,可能是我沒有打算寫的緣故,或者說是“心浮氣躁”——寫了幾個月有點熬不住了,^_^。但也可能我只能寫到這樣,畢竟這部分離我們太遠,至少和前邊的“資料結構”相比是太遠。有人說,尋找和排序的演算法已經非常成熟了,大師們窮盡腦汁也不可能帶來“質的飛躍”了,而像我們這些等著“吸收前人勞動果實”的人,能全盤吸收就甚為不易,更不要說“完成前人所未完成”了。因此,對於教科書上面的講解,除非作者治學態度有問題(信口開河),否則沒有什麼好講的。正像我前面所說的,我只是

資料結構學習(C++)續——尋找(搜尋)【1】

相信每個人都曾感受過找東西的痛苦,大多數人也感受過電腦參與資料管理後所帶來的便捷,而學過編程的也曾為了某個問題(比如實現“如果不存在則加入”這樣的演算法描述——排列組合演算法的初級階段)而實現過尋找。在SGI-STL的stl_algo.h裡面有這樣一段代碼:template <class _InputIter, class _Tp>inline _InputIter find(_InputIter __first, _InputIter __last,                

struct關鍵字在C和C++中使用時的一點區別

        很多同學在初學socket編程的時候,編譯書上的第一個例子程式都會遇到這樣一個問題,明明標頭檔都包含了,為什麼編譯總是報錯:'sockaddr_in' undeclared'sockaddr' undeclared.        原因如下:        如果用gcc client.c -o client -Wall編譯,則        struct sockaddr_in sockAddr;        memset(&sockAddr, 0,

總頁數: 4314 1 .... 1664 1665 1666 1667 1668 .... 4314 Go to: 前往

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.