最近,一位在和一位同學交流的時候,他讓我看看他的代碼情況,我看了許久,逐步記錄了一些,現在慢慢總結出來,與大家分享,編寫有效的C#代碼很重要,雖然我們平時寫的時候只管實現,但是在面向大型的項目或者參與國際開源項目的時候,經常會遇到有效的C#問題。今天列舉幾個,供大家參考。
第一:ToString() 很好,但是就這樣?
我們常常喜歡用ToString()進行格式化轉換,將對象表達為字符串形式,但是如何應用有效呢?舉個例子:獲取當前時間:System.DateTime.Now.ToString() 這是我們太習慣不過的代碼了,但是里面至少有兩處問題。1)"System." 是冗余代碼,因為一般命名空間中都添加了Using System; 2) ToString() 缺少獲取不依賴於區域性(固定)的CultueInfo。你覺得呢?親...
第二:三目運算符?更簡潔?
以前我們習慣用If..else..來做判斷,后來用三目運算符來簡化if...else...甚至替代,但是有比三目運算符更簡潔的嗎?當然有的情況下還是有的,舉個例子:
{ return true ;}
else
{ return function();} // function() 是一個執行返回參數為bool類型的值
用三目運算符表達:return (a>b?true:function)
更簡單的方法:return b>=a && function()
你覺得是這樣嗎?親...(當然從執行效率上三目是最高的)
利用VS2010的度量分析:采用if..else..時候:
采用三目和上面的表達式時:
第三:為什么不用Linq?還在foreach 嗎?
我們都知道foreach 是在for循環上的一種有效改進,但是Linq的出現,難道我們不能再改進嗎?舉個例子:
foreach ( string s in strList)
{
result+= s;
}
上述代碼很簡單,但是我們是否可以這樣?
我們常常忽視了好多,我們並沒有追求什么完美,但是代碼要是讓我們產生厭惡感,你還那樣寫代碼嗎?后面我也將陸陸續續更新更多...