Eu estou querendo analisar uma seqüência de caracteres em um int anulável em c #. ie Eu quero voltar o valor int da string ou null se não puder ser analisado.
Eu meio que esperava que isso funcionasse
int? val = stringVal as int?;
Mas isso não vai funcionar, então o jeito que eu estou fazendo isso agora é que eu escrevi esse método de extensão
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;
}
}
}
Existe um jeito melhor de fazer isso?
Edição: Obrigado pelas sugestões TryParse, eu sabia sobre isso, mas funcionou sobre o mesmo. Estou mais interessado em saber se existe um método de estrutura interno que será analisado diretamente em um int nulo?