Je veux analyser une chaîne de caractères dans un int nullable en C#. Je veux récupérer la valeur int de la chaîne ou null si elle ne peut pas être analysée.
J'espérais que ça marcherait
int? val = stringVal as int?;
Mais cela ne fonctionnera pas, donc la façon dont je le fais maintenant est que j'ai écrit cette méthode d'extension
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;
}
}
}
Y a-t-il une meilleure façon de procéder ?
EDITAR: Merci pour les suggestions de TryParse, je connaissais cette méthode, mais elle a fonctionné de la même manière. Je suis plus intéressé par le fait de savoir s'il existe une méthode intégrée dans le framework qui permet d'analyser directement un int nullable ?
1 votes
Vous pouvez utiliser string.IsNullOrEmpty(value) pour rendre la ligne if plus claire.
0 votes
Envisager d'utiliser la conversion générique stackoverflow.com/questions/773078/