string.join

摘要:string.join

劇情需求

123, 222, ABC, EEE, 123EE, 12345 => '123', '222', 'ABC', 'EEE', '123EE', '12345'

以前的寫法(剛寫程式時)

string tString = "123,222,ABC,EEE,123EE,12345";
 
//拆到陣列
string[] tArray = tString .Split (',');
string tNewString = string.Empty;
foreach (string tStr in tArray)
{
    tNewString += string.Format("'{0}',", tStr);
}
tNewString = tNewString.Remove(tNewString.Trim().Length - 1, 1);
 
現在的寫法(感謝以前的同事)
 string tString = "123,222,ABC,EEE,123EE,12345";
 
//拆到陣列
string[] tArray = tString .Split (',');
List<string> tList = new List<string>();
foreach (string tStr in tArray)
{
    tList.Add(string.Format("'{0}'", tStr.Trim()));
}
 
string tNewString = string.Join(",", tList.ToArray());
 
以上兩種寫法都可以達到相同的功能,下列是小弟目前所學得知的優缺點:
  優點 缺點
以前的寫法

1、很直覺,看Code也很易懂

2、只要有基本Logic應該都可以寫的出來

1、String類別(Value Type)一直 "+="效能上會有很大的問題。

2、很有可能因為"空白",而造成最後一個"逗點"沒有減掉。

現在的寫法

1、因為String只有被指定一次,在效能上會比較好。

2、不會因為資料有空白,而造成結果是錯的。

1、如果不知道有string.join的話,可能寫不出來。

2、入門開發者很有可能會看不懂在做什麼,因為都被底層做完了

以上是小弟的筆記,若有錯誤或其它見解的話,歡迎回覆討論,非常感謝!

船大不沉海!同行非敵國!