今天在同仁的Code裡面看到陌生的運算子,如下:
private string GetCustomerDetail(Customer customer)
{
var id = customer?.Id ?? "123456";
//ToDo....
}
先不管這個Method的用處,看內容會發現「?.」「??」這些運算子是什麼用處呢?
今天在同仁的Code裡面看到陌生的運算子,如下:
private string GetCustomerDetail(Customer customer)
{
var id = customer?.Id ?? "123456";
//ToDo....
}
先不管這個Method的用處,看內容會發現「?.」「??」這些運算子是什麼用處呢?
產品會使用NHibernate 的Lazy Loading來找尋關聯資料,
但如果沒有資料的時候就會拋出 NHibernate.ObjectNotFoundException,
是因為NHibernate 底層預設是找不到資料時會 throw Excetion 出來,這會讓我們在操作上有很大的困擾,
如下圖:
今天幫同仁 Code Review 發現他寫了一段雙層迴圈,但是其實可以用一段 LINQ 就解決掉,如下:
前情提要:
系統有數種的辦理方式,這裡簡稱A、B、C 與 D,同一時間點同一個單號可以做複數個辦理方式,並且把做過的辦理方式以字串方式儲存,
例如做過「A 與 C」那DB會存 “A, B”,到前端來在用Split的方式來看剛單號做哪哪些辦理。
在幫同仁Code Review 的時候,看到「標準」的IO寫法,如下:
try
{
FileStream fileStream = new FileStream("c://test.txt",FileMode.Create,FileAccess.Write);
//IO Process...
fileStream.Close();
}
catch (Exception _Exception)
{
throw;
}
就是基本的try catch,然後就是 Release Resource (Dipose),但其實有更好的寫法,就是使用「using statement」,如下: