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 部分,不定時更新!!
- 如果您覺得這篇文章有幫助,請您幫忙推薦一下或按上方的"讚"給予支持,非常感激
- 歡迎轉載,但請註明出處
- 文章內容多是自己找資料學習到的心得,如有不詳盡或錯誤的地方,請多多指教,謝謝