文章详情

  • 游戏榜单
  • 软件榜单
关闭导航
热搜榜
热门下载
热门标签
php爱好者> php文档>[C#]我对Trim()、TrimStart()、TrimEnd()的错误认识

[C#]我对Trim()、TrimStart()、TrimEnd()的错误认识

时间:2010-12-07  来源:何朝阳

如果这三个函数带上字符型数组的参数,则是删除字符型数组中出现的任意字符。如Trim("abcd".ToCharArray())就是删除字符串头部及尾部出现的a或b或c或d字符,删除的过程直到碰到一个既不是a也不是b也不是c也不是d的字符才结束。 

这里最容易引起的误会就是以为删除的是"abcd"字符串。如下例:

string ClassID = "2005030401<hr class='h2' />2005030402<hr class='h2' />";
ClassID = ClassID.TrimEnd("<hr class='h2' />".ToCharArray());

我的目的是删除最后的那根水平线,当时也确实是用的这种方法,并没有觉得有什么不妥,直到系统运行后,一天老师给我说班号显示不全,而其他有些又是对的,我百思不得其解,根本没想到是这里除了问题,后来调试了好几次才发现,关键就在于“<hr class='h2' />”和“2005030402”都有个“2”,而且中间没其它字符,所以结果是“2005030401<hr class='h2' />200503040”,而不是“2005030401<hr class='h2' />2005030402”。需要注意的是这种写法执行的删除对象是字符数组中出现的任意字符,而不是这些字符连在一起组成的字符串! 

其实,其实上面这个例子也可以这样实现:

ClassID = ClassID.Substring(0, ClassID.LastIndexOf("<"));
相关阅读 更多 +
排行榜 更多 +
辰域智控app

辰域智控app

系统工具 下载
网医联盟app

网医联盟app

运动健身 下载
汇丰汇选App

汇丰汇选App

金融理财 下载