Преобразуйте строку в int и проверьте успех на C#

StackOverflow https://stackoverflow.com/questions/405619

  •  03-07-2019
  •  | 
  •  

Вопрос

Как можно проверить, является ли нить является кабриолет для инт?

Допустим, у нас есть такие данные, как «Дом», «50», «Собака», «45,99». Я хочу знать, следует ли мне просто использовать нить или используйте проанализированный интервал вместо этого значение.

В JavaScript у нас было это синтаксический анализ () функция.Если строка не удалось разобрать, оно вернется НЭН.

Это было полезно?

Решение

Int32.TryParse(String, Int32) - http://msdn.microsoft.com/en-us/library/f02979c7.aspx

  bool result = Int32.TryParse(value, out number);
  if (result)
  {
     Console.WriteLine("Converted '{0}' to {1}.", value, number);         
  }

Другие советы

Не могли бы вы сделать это немного более элегантно, запустив трипарс прямо в if?

Вот так:

if (Int32.TryParse(value, out number))     
  Console.WriteLine("Converted '{0}' to {1}.", value, number);

Int.TryParse

нашел это в одном из результатов поиска: Как определить, является ли строка числом?

Добавление этого, потому что ответы, которые я видел раньше, не использовались:

int n;
bool isNumeric = int.TryParse("123", out n);

здесь "123" может быть что-то вроде строки s = "123" что ОП тестирует и значение n будет иметь значение (123) после вызова, если он окажется числовым.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top