C#中Trim()、TrimStart()、TrimEnd()的错误认识

    这三个方法用于删除字符串头尾出现的某些字符。Trim()删除字符串头部及尾部出现的空格,删除的过程为从外到内,直到碰到一个非空格的字符为止,所以不管前后有多少个连续的空格都会被删除掉。TrimStart()只删除字符串的头部的空格。TrimEnd()只删除字符串尾部的空格。

      如果这三个函数带上字符型数组的参数,则是删除字符型数组中出现的任意字符。如Trim("abcd".ToCharArray())就是删除字符串头部及尾部出现的a或b或c或d字符,删除的过程直到碰到一个既不是a也不是b也不是c也不是d的字符才结束。
      这里最容易引起的误会就是以为删除的是"abcd"字符串。如下例:
          string s = " from dual union all ";
          s = s.Trim().TrimEnd("union all".ToCharArray());
      可能有人以为上面s的最终结果是"from dual",但真正的结果是"from d"。需要注意的是这种写法执行的删除对象是字符数组中出现的任意字符,而不是这些字符连在一起组成的字符串!
posted @ 2007-11-02 17:22  Fernando  阅读(713)  评论(0编辑  收藏  举报