Category: c#

【本系列是我的 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...

很久沒有 Coding4Fun,想玩個有趣的題目 - 用 C# 無中生有產生聲音檔。 做了研究,.wav 檔用未壓縮的 byte[] 記錄聲音波形,只要依規範在檔案開頭填入聲道數、取樣頻率、解析度位元數... 等資訊,輕鬆就能在電腦上生出一段正弦波。(謎:要多無聊才會幹這種事?到底) 不過,大費周章...

專案有個 HTTP POST 呼叫特定 URL 的共用函式需求,參數採完全彈性,給什麼就組什麼,直接轉成 p1=...&p2=...&p3=... application/x-www-form-urlencode 格式送出。 若用 .NET 寫,最省事的做法是將參數轉成 NameVa...

開發 Windows 客戶端程式,若連線第三方網站或服務需要登入,沒多少使用者能忍受每用一次敲一次密碼,故記憶密碼是必備功能。 用明碼儲存密碼是天地不容的低級行為! 帳號系統存密碼應使用雜湊值,如此可做到不知密碼內容但能比對是否相符,有效降低密碼外洩風險;記憶密碼需還原使用,故不能用雜湊,但至少也要...