Я хочу преобразовать строку в обнуляемое int в C #. т.е. Я хочу вернуть либо значение int строки, либо null, если его нельзя проанализировать.
Я как бы надеялся, что это сработает
int? val = stringVal as int?;
Но это не сработает, поэтому я делаю это сейчас так: я написал этот метод расширения
public static int? ParseNullableInt(this string value)
{
if (value == null || value.Trim() == string.Empty)
{
return null;
}
else
{
try
{
return int.Parse(value);
}
catch
{
return null;
}
}
}
Есть ли лучший способ сделать это?
РЕДАКТИРОВАТЬ: Спасибо за предложения TryParse, я знал об этом, но это сработало примерно так же. Мне больше интересно узнать, есть ли встроенный метод фреймворка, который будет анализировать непосредственно в int, допускающий значение NULL?