如何检查是否字符串不等于一个布尔
问题描述:
嗨,大家好我要检查,如果用户输入(字符串)不等于布尔但显然不能做到这一点:如何检查是否字符串不等于一个布尔
例如:
using System;
using System.Linq;
namespace SymbolCheck
{
class Program
{
static void Main(string[] args)
{
String symbol = Console.ReadLine();
int value;
bool isVowel = "aeiouAEIOU".IndexOf(symbol) >= 0;
if (int.TryParse(symbol, out value))
{
Console.WriteLine("Input is a number: " + symbol);
}
else if (symbol.Equals(isVowel) & symbol.Any(char.IsUpper))
{
Console.WriteLine("Input is a uppercase vowel: "+ symbol);
}
else if (symbol != isVowel)
{
Console.WriteLine("Input is a consonant: "+ symbol);
}
....
我有一个方法来解决它,但想知道是否有这样做的另一种方式:
else if (symbol.Equals(isVowel) & symbol.Any(char.IsLower))
{
Console.WriteLine("Input is a lowercase vowel: "+ symbol);
}
else if (!int.TryParse(symbol, out value) & symbol.Any(char.IsUpper))
{
Console.WriteLine("Input is a uppercase consonant: " + symbol);
}
...
答
你可能想检查两个条件是否都是真的:所以使用&&
符号。 Furtherfore您isVowel是一个布尔值,因此直接使用的是(symbol.Equals(isVowel.ToString()
没有任何意义)
if (isVowel) && symbol.Any(char.IsUpper))
其他检查将
if (!isVowel)
+0
谢谢我得到我的答案 – sylvann
'isVowel.ToString();'没有任何用处,如果你请勿将其分配给变量 – Sayse
是的,为true。对不起忘了删除它我只是在试点:) – sylvann
错字:'输入'而不是'输入' –