【发布时间】:2026-01-03 15:15:01
【问题描述】:
我正在尝试比较 C# 中的两个字符。 "==" 运算符不适用于字符串,您必须使用 .Equals() 方法。在下面的代码示例中,我想读取输入字符串中的每个字符,并输出另一个不带空格的字符串。
string inputName, outputName = null;
// read input name from file
foreach (char indexChar in inputName)
{
if (!indexChar.Equals(" "))
outputName += indexChar;
}
这不起作用,比较总是等于 false,即使输入名称有嵌入空格。我也尝试过使用 Equals(string, string) 的重载方法,它也不起作用。我假设 C# 将 char 变量视为长度为 1 的字符串。Microsoft 的文档似乎没有提到比较字符。有没有人有更好的方法来比较字符串中的字符?
【问题讨论】:
-
是什么让您认为
==运算符不起作用?它适用于' ' -
为什么不直接使用替换方法作为
var outputName = inputName.Replace(" ", string.Empty);?