C# Float & Double 處理小數時的注意事項
用NPOI建立Excel Stream,解決 Exception:由於另一個處理序正在使用檔案[xxxxx.xlsx]所以無法存取該檔案。
用NPOI建立Excel Stream,解決 Exception:由於另一個處理序正在使用檔案[xxxxx.xlsx]所以無法存取該檔案。
用Visual Studio Code建立.Net Core Console專案
用Visual Studio Code建立.Net Core Console專案
.Net Core使用ADO.Net方式直接下SQL撈取資料,並存放置自定義類別
.Net Core其實也可以使用.Net Framework時期那種ADO.Net的寫法
只是取連線字串的方式有點不同。其他步驟都大同小異
流程大致如下:
1.於建構子注入IConfiguration。之後就可以用實作GetValue取得appsettings.json裡的連線字串
2.下SQL做查詢,並用SqlDataAdapter接資料並塞進DataSet
3.把DataRow跟Model做Mapping。傳到View時就可以用強型別寫Razor語法
Visual Studio建立本機資料庫(LocalDB),並透過EF新增Table
以Model First方式在新專案建立本機資料庫儲存資料
利用ManualResetEvent處理多執行緒同步作業
利用設定ManualResetEvent的信號來控制多執行緒,等到多執行緒都同時完成某件事之後,才回到主要執行緒進行後續程式流程。這就是所謂的多執行緒同步
ManualResetEvent_多MRE+ ThreadPool重複呼叫API
利用ManualResetEvent來控制子執行緒進行同步作業(以利用MultiThread重複打API為範例)
匿名委派Func應用(共用帳戶申請書狀態更新)
匿名委派Func的用途在於透過一個統一的匿名函式(Func)去執行分別對應的委派函式,以達到統一定義類似功能的函示的參數和回傳值(跟Interface有點類似,定義好函式需要的參數跟回傳值)。這樣就可以把不同的商業邏輯都放到對應的委派函式。而不是把所有的商業邏輯都包成一個函式用if...else來判斷該取得哪段商業邏輯結果。提高程式可讀性
舉例來說[CREATE]和[UPDATE]這兩個功能需要的參數其實都是差不多的,就可以透過匿名函式分別呼叫對應的委派函式。而不用把CREATEA跟UPDATE寫在一起再用if...else...判斷
- 1
- 2