摘要: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、入門開發者很有可能會看不懂在做什麼,因為都被底層做完了 |
以上是小弟的筆記,若有錯誤或其它見解的話,歡迎回覆討論,非常感謝!
船大不沉海!同行非敵國!