如何检查是否字符串不等于一个布尔

问题描述:

嗨,大家好我要检查,如果用户输入(字符串)不等于布尔但显然不能做到这一点:如何检查是否字符串不等于一个布尔

例如:

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); 
    } 

...

+0

'isVowel.ToString();'没有任何用处,如果你请勿将其分配给变量 – Sayse

+0

是的,为true。对不起忘了删除它我只是在试点:) – sylvann

+0

错字:'输入'而不是'输入' –

你可能想检查两个条件是否都是真的:所以使用&&符号。 Furtherfore您isVowel是一个布尔值,因此直接使用的是(symbol.Equals(isVowel.ToString()没有任何意义)

if (isVowel) && symbol.Any(char.IsUpper)) 

其他检查将

if (!isVowel) 
+0

谢谢我得到我的答案 – sylvann