【发布时间】: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