"\u4000\f".TrimEnd(new char[0])
等于"\u4000"
。
我传递了一个空数组,根据MSDN文档,不应该删除任何内容,并且应返回"\u4000\f"
。这种行为有原因吗?
编辑:澄清了预期行为。
编辑:显然,这在3.5中发生了变化,我看的是2.0文档页面。
文档说明:“如果trimChars为null(Visual Basic中的Nothing)或为空数组,则将删除空格字符。”
因此,这不是一个错误。
文档已经讲得很清楚了:
从当前 String 对象中的末尾移除指定数组中所有字符的所有尾随匹配项。
返回值类型:System..::.String 删除当前 String 对象末尾的 trimChars 参数的所有出现后剩余的字符串。 如果 trimChars 为 null(在 Visual Basic 中为 Nothing)或为空数组,则删除空格字符。
因此你的例子没有错误。
"\u4000\f".TrimEnd(new char[1])