Существует много способов преобразования в int, многое зависит от того, какой у вас источник.
Самая важная вещь, которую нужно иметь в виду, - это проверка ошибок, ни один из методов не может быть самодостаточным, поэтому вам нужно решить, как вы хотите к ним подойти.
Приведение с (int), Преобразование с Convert.ToInt32 (), Синтаксический анализ с int.Parse () могут генерировать исключения, такие как InvalidCastException, FormatException и OverflowException, и должны использовать try / catch для обработки неудачного результата.
Синтаксический анализ с помощью int.TryParse () вернет результат истина / ложь, если разбор был успешным, а в случае успеха установите значение параметра out, указанного в вызове функции.
Если вы действительно пытаетесь взять какой-либо объект и превратить его в int, то вам лучше всего использовать Convert.ToInt32, например:
public void TestFunction(object input)
try {
int value = Convert.ToInt32(input);
SomeOtherFunction(value);
}
catch (Exception ex) {
Console.WriteLine("Could not determine integer value");
}
}
Другой возможностью было бы полагаться на объект, создающий полезное значение в .ToString (), такой как:
public void TestFunction(object input)
try {
int value = int.Parse(input.ToString());
SomeOtherFunction(value);
}
catch (Exception ex) {
Console.WriteLine("Could not determine integer value");
}
}