2009年6月7日 星期日

去除字串最後一個逗號

在一些狀況下,我們可能需要傳送一連串的值給Stored Procedure,所以我們會在程式中串接字串,因為是用for-loop之類的方法,所以字串後面都會多個分隔符號,為了刪除最後一個分隔符號程式設計師大都會用String類別的一些方法去刪除,有些程式設計師會用Substring來處理,在這裡提供比較好的做法。

原本的程式
string mystring = "1,2,3,";
mystring = mystring.Substring(0, mystring.Length-1);

建議
string mystring = "1,2,3,";
mystring = mystring.TrimEnd(new char[]{','});

為什麼說TrimEnd是比較好的做法,因為要用Substring要加更多判斷條件
Substring如果沒有加判斷條件會發生一些狀況
  1. 當mystring = "1"; 時,用Substring則mystring最後值等於"" (理論上是"1");
  2. 當mystring = ""; 時,會發生System.ArgumentOutOfRangeException: 長度不可以小於零。

1 則留言: