Coding Standard (二):字串處理技巧

Coding Standard (二):字串處理技巧

在這邊分享幾個公司在進行Code Review時,對字串處理時的一些技巧。

1.在判斷string 是否為空白時,避免使用與String.Empty 或 “” 比較,改用 String.Length = 0,效能較佳。

//Bad!
if (vaule == string.Empty)
 {…}

//Good!
if (vaule.Length == 0) {…}

2.靜態字串串接時(於當下串接所有內容),利用”@”來輸入多行文字及避免跳脫字元(escaped string),
方便閱讀與維護,以及較好的效能(效能相同)

(感謝暗黑大大的補充),請參閱StringBuilder串接字串的迷思

//Bad!
string vaule = “select * from product”
                   + “where product_name = '1'”;

//Good!
string vault = @”select * from product
                            where product_name = '1'”;

3.string忽略大小寫比較時,避免使用ToLower,改用string.Compare,效能較佳。

//Bad!
string customerName = “Lance Hunt”;
if (customerName.ToLower() == “lance hunt”.ToLower()) 
{…}

//Good!
string customerName = “Lance Hunt”;
if (string.Compare(customerName,”lance hunt”,true) == 0)
{…}

4.動態字串串接時(無法於當下串接所有內容),避免使用 “+”,改用StringBuilder,效能較佳。

//Bad!
string value = “select * from product”;
value += “where product_id=1”;
...
value += " and product_name='xxx'";

//Good!
StringBuilder value = new StringBuilder();
value.Append(@“select * from product 
               where product_id  = 1 ”);
...
value.Append(“ and product_name  = 'xxx' ”);

5.表示空字串時,避免使用 “”改用使用 string.Empty ,效能較佳。

//Bad!
string vaule = "";

//Good!
string vaule = string.Empty;

希望對大家有幫助~~

 

Coding Standard 部分,不定時更新!!

 

參考資料
StringBuilder串接字串的迷思




 


 

  • 如果您覺得這篇文章有幫助,請您幫忙推薦一下或按上方的""給予支持,非常感激
  • 歡迎轉載,但請註明出處
  • 文章內容多是自己找資料學習到的心得,如有不詳盡或錯誤的地方,請多多指教,謝謝