"\u4000\f".TrimEnd(new char[0])
等于"\u4000"
。
我传递的是一个空数组,因此根据MSDN文档,不应删除任何内容,并且应返回"\u4000\f"
。这种行为有原因吗?
编辑:澄清预期的行为
编辑:显然,这在3.5中有所改变,我正在查看2.0文档页面。
答案 0 :(得分:10)
文档说“如果trimChars为null(在Visual Basic中为Nothing)或空数组,则会删除空格字符。”
所以不,不是错误。
答案 1 :(得分:3)
documentation很清楚:
删除a的所有尾随事件 一组字符 来自当前String对象的数组。
返回值类型:System .. ::。String 毕竟还剩下的字符串 中出现的人物 trimChars参数将从中删除 当前String对象的结尾。 如果trimChars为null(在Visual中没有任何内容) 基本)或空数组,空格 将删除字符。
所以你的例子不是bug。
答案 2 :(得分:0)
您会期待什么行为?
如果要删除尾随的NULL字符,则应使用
"\u4000\f".TrimEnd(new char[1])