Time of Update: 2018-12-08
介紹 做web開發已經有5年多了,現在覺得如果想讓自己在技術上有所提高,必須在C語言、資料結構和演算法上下點苦功。以前我也是零零散散的學習C語言,總是沒有耐心堅持下來。——這次我得下決心學好了。 為什麼我學習C呢? 1、php核心是用C開發的。 1》如果你想知道某個函數是怎麼實現的,手冊有的時候是說不明白的。——你敢保證你能把你寫的代碼中所有函數,所有類說明白嗎?我估計你一般心裡明白。
Time of Update: 2018-12-08
文章目錄 (1) 準備實驗環境(2) 第一個指令碼:你好,空姐(3)像素操作示範——為照片增加夜光特效(4)小插曲 很久之前,就想寫一系列C#映像編程的文章,但始終沒有下筆,其主要原因有二:(1)我的C#影像處理庫 Geb.Image 庫在大幅度變動中;(2)沒有找到一個很好的示範工具。現在,對於第一個問題,Geb.Image庫的基本結構已經確定了;對於第二個問題,選擇了LinqPad作為C#映像編程和示範工具,輕巧簡便。就從現在開始吧。(
Time of Update: 2018-12-08
先來看一個例子:Code highlighting produced by Actipro CodeHighlighter
Time of Update: 2018-12-08
文章目錄 Flyweight模式C#中的字串不是Flyweight模式C#中的字串與Flyweight模式更多思考
Time of Update: 2018-12-08
(偶然翻起自己的舊博,忽然發現大三的時候寫的這篇文章,仔細看看覺得寫的還是那麼回事,所以趕緊搭救出來)引用的聲明: 基本格式:參考型別 &引用名=被引用對象 &運算子:聲明運算子& 跟取地址運算子&和位異或運算子&沒有任何關係extern關鍵字:一般情況下 引用的聲明必須指定被引用對象 唯一的例外是使用extern關鍵字const關鍵字:一般情況下 被引用對象必須是有效左值對象 但是const關鍵字修飾的常參考型別允許被引用對象不是左值對象
Time of Update: 2018-12-08
首先說一下大家總在談的物件導向編程。什麼是物件導向呢?我認為,對象就是封裝事物的功能(方法,事件等等)和屬性的一個“體”,我們對這個“體”進行編程操作和拿其和外界聯絡的一系列編程活動就叫做物件導向的編程。本節提供有關關鍵的 C# 語言功能和 C# 可通過 .NET Framework 訪問的功能的詳細資料。語言部分類型(C# 編程指南)基本篇參考型別數組(C# 編程指南) String(C# 編程指南) 語句、運算式和運算子(C# 編程指南) 對象、類和結構(C# 編程指南) 屬性(C#
Time of Update: 2018-12-08
文章目錄 C語言中的字串C++語言中的字串Win32編程中的字串COM中的字串 C/C++中的字串問題在網上的講解一向非常含糊,存在各個層次的庫混用、濫用的情況,尤其是寬字元與窄字元等問題很難找到有效資料,本篇隨筆分享一下我長期收集到的一些比較準確的資料以及據此得到的個人理解.C語言中的字串C語言中提供了兩種字元類型char和wchar_t,C語言使用字元數組來表示字串,同時支援兩種直接量寫法:"abcd"和 L"abcd"
Time of Update: 2018-12-08
今天有點無聊,不知道做什麼好!以前一直做企業開發,最近在網上看了些文章,對網路編程這塊也有點興趣了,於是開始學習網路編程,今天學習了點基本的程式就想起了順便寫寫篇文章記錄下所學的,就當是在園裡作個筆記吧. 說到網路也許很多朋友都想到與IP,TCP,UDP這些協議相關的概念,IP,MAX,DNS等這些詞在網路開發中確實很重要,這篇文章也將以這些關鍵字作手寫.一.擷取主機名稱 Dns類位於System.Net下,該類下有一個專門用於擷取電腦名稱的方法GetHostName()
Time of Update: 2018-12-08
●1. 避免將多個類放在一個檔案裡面。 ●2. 一個檔案應該只有一個命名空間,避免將多個命名空間放在 同一個檔案裡面。 ●3. 一個檔案最好不要超過500行的代碼(不包括機器產生的 代碼)。 ●4. 一個方法的代碼長度最好不要超過25行。 ●5. 避免方法中有超過5個參數的情況。使用結構來傳遞多個參 數。 ●6. 每行代碼不要超過80個字元。 ●7. 不要手工的修改機器產生的代碼。 a) 如果需要編輯機器產生的代碼,編輯格式和風格要符合該編 碼標準。 b) Use partial
Time of Update: 2018-12-08
做為一個程式員如何從細節上來提高我們的編程水平?下面幾點,應該完全沒有理由不掌握的:1。編碼習慣對於一個團隊開發來說,編碼習慣是非常重要的,至少我們需要按照下面一些命名規範:類名:每個單詞的第一個字母大寫 eg: MyClass欄位:第一個單詞的第一個字母小寫 eg: myFiled
Time of Update: 2018-12-08
1, Implicitly typed local variables(隱式類型的局部變數)引入 var 關鍵字,容許變數類型從代碼上下文中引出:var n = 10;var f = 10.0;var a = new int [] {1,2,3,4};int [] ns = {1,2,3,4,5};foreach(var v in ns)當然C# 仍然是強型別的,如果發現類型無法判斷,那麼還是會編譯時間報錯,var s = null; // 編譯錯誤,因為無法根據null知道 s
Time of Update: 2018-12-08
1. new和override區別 override在子類中重寫基類的方法;new在子類中為基類同名(virtual)方法添加一個新的版本,會保留基類的同名(virtual)方法。 如果基類的同名方法不給出new和override修飾符,.Net預設採用new的方式,編譯時間將產生一條警告資訊。 關於重載:一般有按名稱隱藏和按簽名隱藏兩種策略,C#預設按簽名隱藏,即預設使用hidebysig特性。 2. 建構函式 a)
Time of Update: 2018-12-08
都知道一般情況下事件申明格式如: public event delegate Type event Name;但是,不是我們時刻都需要這樣申明的,因為它會適當佔用我們的記憶體空間。這時我們可以採用另一種基於索引值對的方式來操作,需要的時候在建立和調用,不需要的時候就移出。即:通過add和remove訪問器來自訂實現添加和移出事件處理常式。下面說說實現該方案的整個流程:1:聲明事件類型 eg: public delegate void DemoEventHandler(object
Time of Update: 2018-12-08
Code highlighting produced by Actipro CodeHighlighter
Time of Update: 2018-12-08
翻了一半,到某些地方實在是看不下去了,鑒於這本書的名氣和傳說中的銷售量,這些地方拿出來給大家討論討論,對看了這本書而又沒發現這些東西的安達應該是有益的. 條款19:Prefer Defining and Implementing Interfaces to
Time of Update: 2018-12-08
書接《Effective C#》某些地方實在是對不起Effective這個詞(I)
Time of Update: 2018-12-08
這次我們來關注條款20:Distinguish Between Implementing Interfaces and Overriding Virtual
Time of Update: 2018-12-08
初學者很容易把這些概念搞混淆。先說說項目(Project),通俗的說,一個項目可以就是你開發的一個軟體。在.Net下,一個項目可以表現為多種類型,如控制台應用程式,Windows應用程式,類庫(Class Library),Web應用程式,Web
Time of Update: 2018-12-08
接觸WebService沒多久,一個令我困擾的問題就是怎麼樣給自己開發的WebService加上身份認證的功能,因為我不想什麼亂七八糟的人使用我的服務,因為這個WebService可能存在一些有關個人隱私的資訊,除了授權的人之外,閑雜人等一律要拒之門外。這個對於Windows應用程式來說易如反掌的功能在WebService上應該如何?呢? 具體如何?者一功能有許多方法,在CodeGuru的Build Secure Web Services With SOAP Headers and
Time of Update: 2018-12-08
最近在看書時看到一段VB.Net的代碼. Select Case itemType Case ListItemType.Header cell.Text = HeaderText Case ListItemType.Item, ListItemType.AlternatingItem AddHandler cell.DataBinding,