今天在同仁的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」,如下: