В чем разница между int.Parse() и Convert.ToInt32()

322
12 мая 2017, 14:01

В чем разница между int.Parse() и Convert.ToInt32() в C# ?

Answer 1

int.Parse преобразует строку (string) в int (если может).
Convert.ToInt32 преобразует в int значение любого типа, из перечисленных здесь. boolean, double, float и т.д. А самое главное, может преобразовать экземпляр любого класса, реализующего IConvertible.

Если говорить о строках, то Convert.ToInt32 внутри всё равно использует int.Parse. Но есть нюанс:

public static int ToInt32(String value) {
    if (value == null)
        return 0;
    return Int32.Parse(value, CultureInfo.CurrentCulture);
}

Для неинициализированной строки int.Parse выбросит исключение, Convert.ToInt32 вернет 0.

READ ALSO
Получение ID нескольких процессов

Получение ID нескольких процессов

Нужно получить ID определенных процессов

239
Управления музыкой через TrackBar

Управления музыкой через TrackBar

Использую функции WindowsMediaPlayer для создания плеераЕсть TrackBar который отображает текущее время композиции

191
Как отобразить форму в контроле?

Как отобразить форму в контроле?

Есть groupBox в который я хочу добавить форму

211
Ошибка в String Format

Ошибка в String Format

Есть несложный код, цель которого форматировать и вывести результат с 2 знаками после запятой:

214