这就是我所拥有的:
if (userVar == " ")
{
Console.WriteLine("stop");
}
确定,但是只能处理一个间距。如果用户在控制台中按下2个空格,3个空格,100个空格怎么办,我该如何为所有这些空格做出if语句?
答案 0 :(得分:1)
您需要的是IsNullOrWhiteSpace函数https://docs.microsoft.com/en-us/dotnet/api/system.string.isnullorwhitespace?view=netframework-4.7.2
答案 1 :(得分:0)
为了检查字符串中的每个字符是否都是空格,您可以执行以下操作:
if(userVar.All(x => x == " "))
{
Console.WriteLine("stop");
}
或者,如果您不想使用lambda,则可以使用以下功能相对容易地做到这一点:
public static boolean IsAllSpaces(string input)
{
if(input == null || input == String.Empty)
{
return false;
}
foreach(char c in input)
{
if(c != " ")
{
return false;
}
}
return true;
}
请注意,如果字符串为null,则第一个将引发异常,而第二个将返回false。根据您的意愿,这是您的最佳选择,您可以在第一个示例中检查是否为null,然后再调用All
。
答案 2 :(得分:0)
if (userVar.length > 0 && String.IsNullOrEmpty(userVar.Trim())
{
Console.WriteLine("stop");
}
它有角色,它们只是空间...
答案 3 :(得分:0)
像这样使用它:
if (String.IsNullOrWhiteSpace(userVar))
{
Console.WriteLine("stop");
}
根据文档:如果value参数为null或Empty,或者value由排除空格字符组成,则返回true。
答案 4 :(得分:-1)
好吧,如果您不希望有单个空间。您可以使用string.Conatins()
函数。
if (userVar.Contains(" "))
{
Console.WriteLine("stop");
}
注意::无论用户输入1 space
还是100,它都会检测到。