[C#] 一個無聊的冷知識關於已知運算常數編譯後的MSIL

2023-02-06


寫一個有趣的小東西,大概算是 C# 冷知識,大概就跟台灣本島最北的國際機場是桃園中正機場而不是松山機場一樣冷知識

今天好奇問同事一個問題 假設我要 1+2+3+...+100 這答案

1. 我手動打 return 1+2+3+4+5+...+100; 

2. 我用迴圈  for (var i = 1; i <= 100; i++) 最後 return sum; 

3. 用梯形公式解  return ((1+100)*100)/2 

這三個到底 哪一個執行比較快


[C#] 使用 iCal.NET 產生 .ICS 行事曆事件+鬧鐘


雖然已經  21 世紀了,我也不知道為何業主非常喜歡 .ICS 這東西

不過,沒辦法收費辦事情,之前,我是自己大概看一下規格後自己產生,

但是最近客戶要做一些改動需求,不能夠這麼單幹了,查詢了一下,有一套一直有在更新的套件 Ical.Net


[C#] 在執行期下取得所有用到的套件版號資訊

2023-02-04

最近跟同事在測試一個 .NET Core 3.1 跟 .NET 6 的套件問題

我們再抓到底當時候用哪一個套件所產生的錯誤,因為我們一值 Nuget 換不同版本測試

這時候我們必須要知道到底現在(執行期)用的套件是哪一個版本

所以今天簡單筆記一下,就是在執行期的時候抓取所用的 package 版本



[C#] 關於MemoryCache GetOrCreate 遇到 thread-safe 的問題


同事 Roger 碰到一個小雷,跟我說過後,決定記錄一下

因為一些專案的緣故,開發環境是 ASP.NET Core  6 他使用的 

Microsoft.Extensions.Caching.Memory.MemoryCache 

但是在大量用戶存取(非同步) 的時候造成 Exception 


[C#] 判斷某個時段有沒有壓到另一個時段

2023-02-03

關於時間問題,這我在專案中寫過多次每次寫都要重新考慮一次

這次就索性整理一下,然後就是直接複製貼上,懶得重寫

簡單的說因為常常寫訂單系統,就是有像是家教那樣他假設 12:00~13:00 有課,所以他的客戶不選擇這時段

這時候程式怎麼判斷時段有沒有壓到


[C#] 關於 JsonConvert.SerializeObject 的 二三事 - 如果 List 是空得(非null) 就不顯示

2023-02-02

最近遇到的一個問題,就是關於 Json.NET 的  SerializeObject 的顯示問題

其實一般狀況下我就是直接無腦的  JsonConvert.SerializeObject(object)

但是,最近在維護一個系統因為物件要改成 Nullable 就有點麻煩,所以看看能不能直接再 SerializeObject

解決盡量的不使用 Attribute 或是改寫 Nullable 去解決



[C#] IntersectBy , ExceptBy 常忘記的兩個好用的 LINQ 方法

寫一個其實很基本,但是我每次都用蠢方式解決的東西,其實 .NET LINQ 都準備好好地給你用

認識我的人都知道我碰 NOSQL 比較多,所以我常常是在Sever 變成物件後解決一些事情

最近同事說到為何不用 IntersectBy 我才想起來有這東西,就筆記一下我怕自己又忘記有好用的東西



[C#] ASP.NET Core 6.0 - 在開發中遇到無限循環只出現 熱重新載入,點選"編輯"跟"停止"都無效

2023-02-01

最近一直遇到這個問題,剛剛測試一下算是解決了,就筆記一下

平常時候我都是用 Ctrl+F5 測試東西,但是有時候要追蹤錯誤就會按下 F5  逐步偵錯

結果遇到錯誤點的時候跳出這樣的畫面


[C#] ASP.NET Core 6.0 - 一些基本概念使用 BindProperty , HtmlHelper , 不透過 AJAX 純用 POST 做雙連動下拉選單

今天寫一個對很多人來說是很基礎的東西,不過因為之前我是從 ASP.NET Webform 寫的比較熟

中間的  ASP.NET MVC 時代,我比較沒有去觸碰 ,之前有測試過一些東西,但是因為很多原因所以還是主要不會去用此開發

現在到了 ASP.NET 6  的時代,有些基本功可能跟當初的 Webform 不太一樣今天筆記一下

也怕自己忘記



當麻許的碎念筆記 2014 | Donma Hsu Design.