每隔一段時間,偶而就會聽到一些靜態函式的都市傳說,比較誇張點的是非靜態函式(也就是類別成員函式),會依據物件而複製,所以占用記憶體較多。較為貼近合理情況的是靜態函式的執行速度優於非靜態函式,如果你相信我的話,以下就是答案。
LINQ小技巧 - 避免WMI的"Not Found"例外
- 1524
- 0
- 2018-03-22
LINQ 的設計初衷就是放在程式設計師日常都會用到的功能上,藉此節省程式碼的量,身為C# 工程師,我們在解搜尋、排序、過濾這些問題時,應該時時刻刻都要想到如果運用LINQ,是否會有更好的解法,
本系列文便是一個紀錄,我沒有定任何的週期發布時間,純屬遇到後,就記錄下來,也不代表是最好的解法,你知道,這世界上只有當下最佳解,如果你有更好的解法,歡迎分享 ^_^ ,若對這系列有興趣,可以追蹤本粉絲頁。
糖衣下的秘密 – C# 語法糖
C# 並不是唯一一個提供語法糖的程式語言,但卻是少數敢持續在新版本中加進數量堪稱大量語法糖的語言,單以語法糖這點來說,C# 算是發揮得相當極致。
取得GPU Video Memory Usage - Windows 10 1709 only
- 2991
- 0
- GPU Prorgramming
最近的Windows 10 Fall Creators Update更新中,提供了一樣以往被視為是難以取得的的資訊,那就是GPU的使用率及記憶體用量,這以往都要靠特定的工具才能查看,例如GPU-Z或是Riva Tuner,如果是NVIDIA那就還好,NVIDIA會在資源監視器中添加幾個計數器,所以取得其實不困難,但如果是ATI/AMD甚至是Intel HD,沒有特定的通道與知識是很難達到取得這些資訊的,尤其是記憶體(Video Memory)用量,在這次的更新後,這一切都變得非常簡單了。
使用SIMD加速.NET 應用程式
- 4529
- 0
- 2018-03-25
SIMD是Single Instruction Multiple Data的縮寫,通常中文翻譯為單指令多數據流,用較白話的說法是,同時對多個數據執行同一條CPU指令,達到平行運算的目的。
談C# 編譯器編譯前的程式碼擴展行為 (2017年續 上)
- 7614
- 0
- C# Features
- 2017-03-20
這是2011年 談C# 編譯器編譯前的程式碼擴展行為 的續篇,當年該文章由C# 1.0討論到4.0,中間也過了好多年,今年終於興起來寫個續篇了,如果你沒看過前篇,建議看這篇前先瀏覽一下,該文中提及的東西至今仍然未過時,語言的東西不比特定技術,很少會發生Breaking Changes或是整個Feature移除,頂多只是改善。
設計簡單的Script Engine
- 1765
- 0
- Script Engine
- 2017-01-20
軟體需求總是不停地在改變,有些時候需求帶著UI,有些時候需求則可以排除UI,端看使用者的角色而定。會有這篇文章的原因是最近收到了一個很特別的需求,這個需求的受眾,也就是使用者其實是公司內部的PM、工程師,所以UI不一定需要很複雜,甚至不太需要UI,因為牽扯到實際商業行為,以下我便用類似的假想型需求來呈現。
光明與黑暗 – 談程式碼保護
- 13808
- 0
- Code Security
- 2017-01-17
保護與破解就像是矛與盾,本文著重與討論程式碼保護技術,也就是如何保護你的程式碼不被竊取及竄改
Detecting Appliation Starting and Terminate
- 1606
- 0
- .NET Framework 3.0
最近有朋友提到個需求,他的目的是想偵測Windows系統中所有應用程式的啟動與結束,這通常用於防毒軟體及特定的領域,所以我做了一些研究及實驗。
- 1