C 程式設計要點彙總

2021-08-08 04:22:42 字數 962 閱讀 2534

要點彙總:

網路通訊方面:wcf和socket程式設計

資料庫方面:sql語言、linq、ef或者orm

程式設計技術方面:泛型、委託、反射、多執行緒

總結:

泛型:

泛型的價值在於減少重複的邏輯**,讓邏輯相同、物件不同的方法合併在一起,減少**數量提公升效率。

利用好了泛型這個東西可以減輕很大的工作量。泛型限制有幾種,一種new()物件必須有乙個引數為空構造方法。一種where,物件必須是where後面的物件的繼承類或者物件本身。

泛型如果增加了where限制的話,就可以直接實用where後面的物件的方法,而不用利用反射來完成這個動作,節約了開銷。

委託:

net裡面預定義的兩個委託是:action<>(),有引數無返回值;func<>(),有引數有返回值;這兩個委託可以完成絕大部分的工作了。

可以通過delegate定義乙個委託,它和類是同級別的存在,不過可以定義在類當中。

委託和c++裡面的方法指標類似,可以引用相應的方法。委託將需要執行的**和發生的地點分開,讓訊息傳遞到更遠的地方。

委託擁有begininvoke,invoke,endinvoke等方法,可以執行擁有回掉方法的方法,實現多執行緒並行。

事件也以委託的方式存在著,事件發生和事件發生需要執行的**分離,可以讓乙個事件在不同的地方擁有不同的執行方案。價值在於擴充套件輕鬆。

事件的另外乙個價值在於不用利用輪詢的方法來完成事件的開發工作,減輕軟體或者系統的負擔。

反射:

可以通過這個機制在不了解物件的具體情況下,操作物件的方法、屬性、欄位等內容;

反射是從當前堆中獲取儲存在其中的物件的屬性、名稱、方法等內容。

精髓部分linq

通用型資料查詢語句,只要實現了介面 ienumerable 就可以使用。

通過類似於sql語句的方法實現複雜的查詢操作,讓查詢顯得更加直觀漂亮。

減少查詢的編譯工作量!

CString要點彙總

1 對乙個 cstring 變數,你可以使用的唯一合法轉換符是 lpctstr,直接 轉換成非常量指標 lptstr const char 是錯誤的。2.getbuffer getbuffer 用來得到乙個指向緩衝區的非常量指標.getbuffer 主要作用是將字串的緩衝區長度鎖定,releaseb...

C語言基礎知識要點彙總

最近所在的專案組正在做c的開發,前兩天剛coding完乙個4千來行的程式,4千行的c程式對於經常做c開發的人來說可能不算什麼,但這是我開發過的最長的乙個c程式,做完之後還是小有一點成就感的。大一的時候學了些基礎,之後就沒深入的學習也不怎麼用過c,藉著這次機會想把c複習一下,所以整理了一下可能平時淡忘...

c 11 14 多執行緒要點彙總

在c 11以前,c 的多執行緒程式設計均需依賴系統或第三方介面實現,一定程度上影響了 的移植性。c 11中,引入了boost庫中的多執行緒部分內容,形成c 標準,形成標準後的boost多執行緒程式設計部分介面基本沒有變化,這樣方便了以前使用boost介面開發的使用者切換使用c 標準介面,很容易把bo...