C# 7.0 - Binary literals

在程式開發時,有時我們會需要使用二進制的數值,像是在使用標有 FlagsAttribute 的列舉值做權限時就會用到。在 C 7.0# 前我們必需要使用十進制數值表示法,確保他是二進制的數值。 ...

May 16, 2016 · Larry Nung

C# 7.0 - Local functions

有時候我們在開發程式時,會碰到一些情境是需要建立個方法,但這個方法只有某個地方會用到,這時我們多半是用委派去做掉,但帶來的問題就是會有額外的記憶體耗費,而且無法被 inline 處理。 ...

May 11, 2016 · Larry Nung

UniqueIdGenerator - C# implementation of Twitter's Snowflake

UniqueIdGenerator 是 Twitter Snowflake ID 的 C# 實作。 產生的 ID 預設有 64 bit,就一個 long 的大小,由 41 bit 為 Timestamp,10 bit 為 Generator id,13 bit 的 Sequence 所組成。 ...

April 7, 2016 · Larry Nung

IdGen - Twitter Snowflake-alike ID generator for .Net

IdGen 是 ID 產生器套件,可用以產生 Twitter Snowflake-alike 的 ID,具備彈性,支援許多不同的建構方式,支援調整 ID 的結構。 ...

April 6, 2016 · Larry Nung

T4 Template - JsResource.tt

在撰寫 ASP.NET 時,.NET 程式部分可用 Resource 去做多語的部分,JavaScript 這邊雖然也有 L10N 的解決方案,但是若走不同的解決方案,難以避免有些詞彙會重複定義。 ...

March 21, 2016 · Larry Nung

T4 template - CultureNames.tt

.NET 在操作 Culture 時,免不了要帶入 CultureInfo 的 Name,多半是用 Hard code 的形式帶入,像是下面這樣: ...

March 8, 2016 · Larry Nung

new CultureInfo v.s CultureInfo.GetCultureInfo

要取得 CultureInfo 通常有兩種做法,一個是透過建構子構建 ,一個則是透過 CultureInfo.GetCultureInfo 去取得。 ...

January 22, 2016 · Larry Nung

Remove #region block with Regex

最近又回頭維護前人的程式,還是很多地方都看不習慣。像是 Region 的濫用讓程式維護起來就很痛苦,程式中很多方法內都存在許多的 Region 區塊,這些區塊都依個人主觀的功能下去劃分,問題發生時不是劃分的人其實很難精準的找到程式在哪個 Region 區塊。且如果方法中的功能真的可以內聚到 Region 區塊之中,那為何不拆解成方法或是負責對應職責的類別呢? ...

October 21, 2015 · Larry Nung

Boxing & UnBoxing

Boxing 是種隱含的處理,當 Value Type 物件塞到 Reference Type 時發生,會幫我們在 Managed Heap 建立一塊空間,並將本來 Value Type 的值賦予其中。 ...

September 21, 2015 · Larry Nung

Casting (Boxing/Unboxing) is better than parsing

以往我們在將 Object 中被裝箱的數值轉成數值時,大概會有兩種作法。 ...

August 23, 2015 · Larry Nung