Come analizzare una stringa in un int NULL

Sto volendo analizzare una stringa in una int nullo in C #. vale a dire. Voglio recuperare il valore int della stringa o null se non può essere analizzato.

Speravo che funzionasse

int? val = stringVal as int?; 

Ma non funzionerà, quindi il modo in cui lo sto facendo ora è che ho scritto questo metodo di estensione

 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; } } } 

C’è un modo migliore per farlo?

EDIT: Grazie per i suggerimenti TryParse, lo sapevo, ma ha funzionato all’incirca lo stesso. Sono più interessato a sapere se esiste un metodo di framework incorporato che analizzerà direttamente in un int N nullable?