@Relonir

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

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.
  • Вопрос задан
  • 4067 просмотров
Решения вопроса 1
yarosroman
@yarosroman Куратор тега C#
C# the best
С MSDN
Использование метода ToInt32(String) эквивалентно передаче value методу Int32.Parse(String).value интерпретируется с использованием соглашений о форматировании языка и региональных параметров текущего потока.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы