Quiero analizar una cadena en un int anulable en C #. es decir. Quiero recuperar el valor int de la cadena o nulo si no se puede analizar.
Tenía la esperanza de que esto funcionara
int? val = stringVal as int?;
Pero eso no funcionará, así que la forma en que lo hago ahora es que he escrito este método de extensión
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;
}
}
}
¿Hay una mejor manera de hacer esto?
EDITAR: Gracias por las sugerencias de TryParse, lo sabía, pero funcionó de la misma manera. ¿Estoy más interesado en saber si hay un método de marco incorporado que se analizará directamente en un int con nulos?