Category: c#

開發時一定會遇到函式傳回結果包含多種資料的情境。舉個例子,假設有個圖檔分析函式,傳入圖檔路徑可得到格式、寬度、高度、色彩深度... 等資訊,單純用字串、整數當成回傳型別一定無法滿足需求。 若傳回資料種類複雜或函式要供外界或其他系統呼叫,那麼設計專屬資料型別當成函式傳回型別是較好選擇,也沒什麼好猶豫。...

【本系列是我的 C# in Depth 第四版讀書筆記,背景故事在這裡】 Tuple 從 C# 4 開始就有,可用 new Tuple<int, int>(v1, v2) 建立臨時性物件一次傳遞多個值,但缺點是存取名稱為 Item1、Item2、Item3... 無法自訂。而 C# 4 ...

這次入手 i7 迷你旗艦,滿滿的 RAM 跟又快又大的 SSD 是重點,我選了號稱能 7GB/s 讀寫的 2TB PCIe gen4 M.2 SSD。 一試果然驚人,實測最高速飆上 6.5GB/s! 但高速是有代價的,溫度也非常驚人! 裝機搬移資料連續 Copy 了數十 GB 資料,溫度飆上 70...

【本系列是我的 C# in Depth 第四版讀書筆記,背景故事在這裡】 (筆記跳過書本第六章 Async Implementation,該章深入剖析編譯器將 async/await 展開產生的狀態機程式實作細節,議題獨立且對日常開發幫助不太,未來有需要再看) 依我個人觀點,C# 2.0 加入泛型、...

【本系列是我的 C# in Depth 第四版讀書筆記,背景故事在這裡】 C# 5 帶來非同步函式 Asynchronous Function 的概念 - 加了 async 修飾詞的方法或匿名函式、Lambda Expression,並在其中使用 await 運算子執行 Await Expressi...

【本系列是我的 C# in Depth 第四版讀書筆記,背景故事在這裡】 C# 4 帶來的一大改變是 dynamic,讓靜態型別語言也能享受動態型別語言獨有的福利,再加上 Optional Parameter,簡化了與 COM+ 世界溝通的成本。而 Gereric Variance (官方翻譯是泛型...

【本系列是我的 C# in Depth 第四版讀書筆記,背景故事在這裡】 讀書記筆晃晃悠悠來到 C# 3 惹。C# 3 的改良重點集中在 LINQ,許多新特性算是配合 LINQ 而生。以今天的角度來看,心得可能會是「靠,這還要講?」,請用溫故知新的心態面對,哈。 筆記附上各特性的原文術語,未來 Go...

【本系列是我的 C# in Depth 第四版讀書筆記,背景故事在這裡】 繼續談 C# 2.0 Iterator foreach 在 IEnumerable 之外多支援 IEnumerable<T>,並加入了 Iterator Iterator 可用於 IEnumerable、IEn...

許多程式老骨腦袋都有這麼一張表,並且會背幾組特別數字:空白鍵是 32 (0x20),0 是 48 (0x30)、A 是 65 (0x41),加 32 可以變成 a 97 (0x61)... 圖片來源:維基百科 在 C# 做字串排序,一時恍忽,熊熊覺得 new[] { "Jeffrey&q...

11 年前玩過用 ExpandoObject + dynamic 彈性處理屬性(參考:既然要動態就動個痛快 - ExpandoObject),6 年前見識到 DapperRow 靠實作 IDynamicMetaObjectProvider 憑空捏造物件行為供 dynamic 存取的奇妙手法。最近在讀...

【本系列是我的 C# in Depth 第四版讀書筆記,背景故事在這裡】 書的第二部分來到 C# 2-5,從現在的角度,這些已經老到不能再老,每個 C# 開發者幾乎都能信手拈來的基本技巧,不過閱讀過程仍有不少驚喜,學到一些過去沒注意的細節。 Generic 泛型 沒寫過 C# 1.0/1.1 的...

年初許下要把 C# in Depth 看完的宏願,隔週還上演電子書失而復得的插曲。然而,一年都過完 3/4 了,新年新希望又爛尾了嗎? 要說沒爛尾是騙人的,平日有一搭沒一搭,想到才翻幾頁,按這速度,拖到領老人年金還看不完。這樣不行呀,黑大! 動筆開始寫讀書筆記吧,希望起點催速效果。 C# in D...

再分享一個 .NET 小工具。 目的是要比對兩個 Schema 相同資料表的資料差異,其中一個是參考依據(這裡稱為 Source),一個是比較對象(稱為 Target),提供 Primary Key 進行匹配比對,找出有哪幾筆需要新增、哪幾筆要刪除,哪幾筆的哪幾個欄位需要更新? 由於比對程式不一定能...

寫了一個依據 URL 清單連網頁存快照的小程式,感覺挺實用,稍加修改可衍生有趣的批次作業或自動化應用。放上 Github,方便將來有類似需求 clone 下來當起手式。 程式本身沒什麼了不起,網頁轉圖片靠 Headless Chrome,C# 操作 Chrome 是透過 Puppeteer Shar...