【问题标题】:How to check if string not equals a Boolean如何检查字符串是否不等于布尔值
【发布时间】:2017-04-16 06:22:12
【问题描述】:

大家好,我想检查用户输入(字符串)是否不等于布尔值,但显然不能这样做:

例如:

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

...

【问题讨论】:

  • isVowel.ToString(); 如果不将其分配给变量,则没有任何用处
  • 是的,是的。抱歉忘记删除它我只是在某个时候进行实验:)
  • 错字:input 而不是 imput

标签: c# string boolean


【解决方案1】:

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

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

另一个检查是

if (!isVowel)

【讨论】:

  • 谢谢我的答案
猜你喜欢
  • 2014-12-13
  • 1970-01-01
  • 1970-01-01
  • 2016-12-21
  • 2018-02-10
  • 2014-07-10
  • 2022-07-31
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多