Практическое руководство. Преобразование массива строки в значение типа "int" (Руководство по программированию в C#)
Обновлен: Ноябрь 2007
В следующих примерах показано как преобразовать строку в значение типа int. Такое преобразование можно использовать, к примеру, при получении числовых входных данных из аргументов командной строки. Существуют аналогичные методы преобразования строк в другие числовые типы, такие как float и long. В следующей таблице перечислены некоторые из этих методов.
Числовой тип |
Метод |
---|---|
decimal |
|
float |
|
double |
|
short |
|
long |
|
ushort |
|
uint |
|
ulong |
Пример
В данном примере вызывается метод ToInt32(String) для преобразования строки "29" в значение типа int. Затем к результату добавляется 1, а выходные данные печатаются.
int numVal = Convert.ToInt32("29");
numVal++;
Console.WriteLine(numVal);
// Output: 30
Также можно преобразовать значение типа string в значение типа int с помощью методов Parse или TryParse структуры System.Int32. Метод ToUInt32 использует Parse внутри себя. Если строка имеет недопустимый форма, метод Parse создает исключение, а метод TryParse не создает исключение, но возвращает значение "false". В приведенных ниже примерах демонстрируются успешные и неуспешные вызовы методов Parse и TryParse.
int numVal = Int32.Parse("-105");
Console.WriteLine(numVal);
// Output: -105
int j;
Int32.TryParse("-105", out j);
Console.WriteLine(j);
// Output: -105
try
{
int m = Int32.Parse("abc");
}
catch (FormatException e)
{
Console.WriteLine(e.Message);
}
// Output: Input string was not in a correct format.
string inputString = "abc";
int numValue;
bool parsed = Int32.TryParse(inputString, out numValue);
if (!parsed)
Console.WriteLine("Int32.TryParse could not parse '{0}' to an int.\n", inputString);
// Output: Int32.TryParse could not parse 'abc' to an int.