Страницы

Поиск по вопросам

вторник, 23 апреля 2019 г.

Приведение строки к nullable int типу

Подскажите, можно ли без написания функций привести строку к ?int типу ?
Попытался найти решения, но в основном натыкался на самописные функции преобразования.
Неужели средствами самого C# нельзя выполнить подобные преобразования?


Ответ

Попробуйте int.Parse. Или int.TryParse, если строка имеет законное право быть не строковым представлением числа.
Скорее всего, вам понадобится вариант с указанием языка: int.Parse(s, CultureInfo.InvatiantCulture) или int.TryParse(s, NumberStyles.Integer, CultureInfo.InvatiantCulture, out result)
Для случая nullable-типа, если вам нужно получить null при ошибке преобразования, придётся-таки вручную:
int temp; int? result = int.TryParse(s, out temp) ? temp : default(int?);

Комментариев нет:

Отправить комментарий