Ответ 1
Использовать Метод System.Char.IsDigit
Я ищу функцию, которая может проверять символ, если он является целым числом и что-то делает.
char a = '1';
if (Function(a))
{
do something
}
Использовать Метод System.Char.IsDigit
Если вы хотите просто чистые цифры 0-9
, используйте
if(a>='0' && a<='9')
IsNumeric
и IsDigit
оба возвращают true для некоторых символов вне диапазона 0-9:
Integer.TryParse
работает хорошо.
Попробуйте использовать метод System.Char.IsDigit
.
Попробуйте Char.IsNumber
. Документацию и примеры можно найти здесь
Лучше просто использовать оператор switch. Что-то вроде:
switch(a)
{
case '1':
//do something.
break;
case '2':
// do something else.
break;
default: // Not an integer
throw new FormatException();
break;
}
Это будет работать до тех пор, пока вы ищете только символы 0-9. Все, что больше (скажем, "10" ), будет строкой, а не символом. Если вы пытаетесь просто увидеть, является ли какой-либо ввод целым, а ввод представляет собой строку, вы можете сделать:
try
{
Convert.ToInt32("10")
}
catch (FormatException err)
{
// Not an integer, display some error.
}
Метод bool Char.IsDigit(char c);
должен отлично работать для этого экземпляра.
char a = '1';
if (Char.IsDigit(a))
{
//do something
}
Самый простой ответ: char.isDigit(char)