探討 C# 編譯器對於 a++ 的處理方式
a = a++ 永遠等於原值
- 3493
- 0
- .NET Tricky
探討 C# 編譯器對於 a++ 的處理方式
探討一些 System.Nullable<T> 結構 的額外課題。
System.Nullable<T> 結構是個還滿有趣的玩意,一則因為它是個實值型別、二則因為它多載了 implicit 和 explicit 這兩個運算子,因此造就了它的有趣程度倍增。
以下這個關於 .Net Framework 內建實值型別實作 IComparable
眼前的包不是包, 你說的i是甚麼i
承前一篇文--剝殼模式談到了剝殼模式完全倚賴繼承鏈的作法會有難以擴展(的缺點, 後來我就一直想如果情境變成需要擴展該怎麼辦 ? 這問題優先要解決的就是打破繼承, 讓各層命令間不再有繼承的關係
這是我最近在 MSDN 論壇看到的一個有趣問題, 解決之後就很無聊地給了它一個名字 -- 剝殼模式, 所以你如果翻遍設計模式的書也是找不到的(這命名實際上有點搞笑的意味).
在大量使用 Lambda 語法後, 在許多程式碼中都會藏著大量的匿名函式, 這種函式內部包裹函式的寫法又稱為 Closure(閉包), 進一步的了解可以參考忠成哥寫的 The Closure and Lambda Programming Style . 但是這種寫法存在一些陷阱, 我得老實說, 其實這陷阱不是C# 編譯器的錯, 而是大部分踩進這陷阱的人通常是沒有仔細思考其中的緣故罷了.
EventHandler<TEventArgs> 委派在 .Net 4.5 的改變
在這系列第一篇講到張無忌的時候曾經說到:『委派可以想像成方法(函式)的外號。』,不過看看將方法委派給事件的程式碼,好像有點怪怪的,它的外號哪裡去了?
在第一篇曾經說到事件就是一個使用委派的常見例子,這篇咱們來探討一下關於委派與事件之間的相關知識。
前兩篇插科打諢的胡說八道了一堆東西,就算你本來不知道委派為何物也應該不會這麼害怕看這個主題了,所以得來真的講講硬底子的玩意兒,回顧一下關於委派所應該知道的基本知識。
前文拿了張無忌當例子說明了單一委派的狀況,這節就用桃谷六仙來聊聊多重委派。
對於初學者來講,委派 (Delegate) 是一個聽起來非常令人迷惑的名詞,不過當我們在撰寫 .Net 程式的時候其實都不知不覺地在使用委派。
應用多型來做傳值的基本功大概就是上一篇所談的內容,這篇的內容著重的就是衍生的用法,如果你已經瞭解那個基本原理,大概就不需要再看這一篇。
這算是個老掉牙的問題了,雖然題目叫『再談』,但事實上我從來沒有特別在這部落格上寫過這題目;不過這個主題很熱門,也有很多人寫過,而且他們寫的都還真不錯。比如像Larry的 [.NET Concept][C#][VB.NET].NET兩個表單間的資料互通 、 Jeff Yeh的 幾種WinForm的Form與Form之間的傳值方法;不勝枚舉,恕我就不一一列出了。
Sometimes, we need to write something to file (ex: mdb, txt, …), not only read it. For example, you build an application which need update or insert data to an access mdb file, when you install this application to C:\Program files directory (or C:\Program files(X86), if you installed a X86 application into a X64 Windows), it will work perfectly in Windows XP environment. But how about Window Vista/7 ?
這篇沒有啥技術深度,只是看到太多人誤用,所以想出來解釋一下。
對於常寫Windows Form 應用程式的人來說 [Control.Dock 屬性] 應該是一個常常會使用到的東西,這對比較有經驗的人應該不是啥太麻煩的問題,不過它很有趣,所以我想要來聊聊怎麼樣能夠順暢的使用這個屬性。
上回咱們談到了components,這回咱們就來聊聊這components倒底是怎麼一回事。