就是这种情况 - 我需要使用Text
a 的属性,ToolStripItem
并且在此之前我需要清除字符串中的所有空格。但是,我尝试了三种非常常见的(在我看来)场景,但它们都没有返回没有空格的字符串。这是我尝试过的:
string tempBtnText = tempItem.Text;
tempBtnText
在我使用该Text
属性的方法中定义。我觉得这样更容易。然后我尝试了那些:
tempBtnText.Replace(" ", String.Empty);
tempBtnText = Regex.Replace(tempItem.Text, @"^\s*$\n", string.Empty);
string tempBtnTexts = Regex.Replace(tempItem.Text, @"\s+", "");
所有这些都以原始形式(带有空格)返回字符串。删除空格的唯一方法是使用此方法:
public string RemoveWhitespace(string input)
{
return new string(input.ToCharArray()
.Where(c => !Char.IsWhiteSpace(c))
.ToArray());
}
我在类似的帖子中找到了SO
。但我真的不明白为什么上述所有方法都不起作用。我开始认为这与我正在使用ToolStripItem
Text 属性这一事实有关,但正如一开始所示,我声明了我自己的字符串变量,该变量采用Text
属性的值和。
我不知道。有人可以告诉我,这种行为的原因是什么。并不是说使用另一种方法来清除空白有那么大的问题,但是不工作的选项更加紧凑和可读,如果可能的话,我想使用其中一个。