C#中Trim()、TrimStart()、TrimEnd()的錯誤認識

iDotNetSpace發表於2009-02-01
這三個方法用於刪除字串頭尾出現的某些字元。Trim()刪除字串頭部及尾部出現的空格,刪除的過程為從外到內,直到碰到一個非空格的字元為 止,所以不管前後有多少個連續的空格都會被刪除掉。TrimStart()只刪除字串的頭部的空格。TrimEnd()只刪除字串尾部的空格。

      如果這三個函式帶上字元型陣列的引數,則是刪除字元型陣列中出現的任意字元。如Trim("abcd".ToCharArray())就是刪除字串頭部及尾部出現的a或b或c或d字元,刪除的過程直到碰到一個既不是a也不是b也不是c也不是d的字元才結束。
      這裡最容易引起的誤會就是以為刪除的是"abcd"字串。如下例:
C#中Trim()、TrimStart()、TrimEnd()的錯誤認識
<!--

Code highlighting produced by Actipro CodeHighlighter (freeware)
http://www.CodeHighlighter.com/

--&gt          string s = " from dual union all ";
          s 
= s.Trim().TrimEnd("union all".ToCharArray());

      可能有人以為上面s的最終結果是"from dual",但真正的結果是"from d"。需要注意的是這種寫法執行的刪除物件是字元陣列中出現的任意字元,而不是這些字元連在一起組成的字串!

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/12639172/viewspace-544951/,如需轉載,請註明出處,否則將追究法律責任。

相關文章