.TrimEnd()没有参数会做什么?

时间:2019-06-17 16:04:34

标签: c# string

我想知道 .TrimEnd()是否删除字符串末尾的空行?

StringBuilder sb = new StringBuilder();

sb.AppendLine("John");      
sb.AppendLine();
sb.AppendLine();        

Console.WriteLine(sb.ToString().TrimEnd());
Console.WriteLine(1);

我尝试了这段代码,它返回了

  

John
  1

  

如果trimChars为null或为空数组,则会删除Unicode空格字符。

所以,如果我了解.TrimEnd()删除字符串末尾的空行?

2 个答案:

答案 0 :(得分:2)

当想知道什么方法时,文档应该始终是您的第一站。在这种情况下,可以在Microsoft网站上找到它:https://docs.microsoft.com/en-us/dotnet/api/system.string.trimend?view=netframework-4.8

相关部分是:

  

如果trimChars为null或为空数组,则会删除Unicode空格字符。

根据维基百科,空白定义如下:

  

空白是表示印刷术中水平或垂直空间的任何字符或一系列字符。呈现时,空格字符不对应于可见标记,但通常确实占据页面上的一个区域。例如,常见的空白符号U + 0020 SPACE(也为ASCII 32)表示文本中的空白标点符号,在西方脚本中用作分词。

https://en.wikipedia.org/wiki/Whitespace_character

https://docs.microsoft.com/en-us/dotnet/api/system.char.iswhitespace?view=netframework-4.8#remarks可能是c#将被认为是空格的最相关定义。这对应于Wikipedia文章中的“具有Unicode字符属性“ WSpace = Y”的空白字符”的第一张表。

答案 1 :(得分:0)

根据官方文档here

  

给来电者的提示

     

.NET Framework 3.5 SP1和更早版本维护内部空格字符列表,如果trimChars为null或空数组,则此方法将对其进行修剪。