2016-12-01 126 views
1

嗨,大家好我要檢查,如果用戶輸入(字符串)不等於布爾但顯然不能做到這一點:如何檢查是否字符串不等於一個布爾

例如:

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

錯字:'輸入'而不是'輸入' –

回答

2

你可能想檢查兩個條件是否都是真的:所以使用&&符號。 Furtherfore您isVowel是一個布爾值,因此直接使用的是(symbol.Equals(isVowel.ToString()沒有任何意義)

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

其他檢查將

if (!isVowel) 
+0

謝謝我得到我的答案 – sylvann

相關問題