web-dev-qa-db-fra.com

Le code C # ne se compilera pas. Pas de conversion implicite entre null et int

Duplicata possible:
Types nullables et opérateur ternaire: pourquoi est-il interdit?? 10: null?

Pourquoi ça ne marche pas? Semble comme un code valide.

  string cert = ddCovCert.SelectedValue;
  int? x = (string.IsNullOrEmpty(cert)) ? null: int.Parse(cert);
  Display(x);

Comment dois-je coder cela? La méthode prend un Nullable. Si la liste déroulante a une chaîne sélectionnée, je dois l'analyser en un int sinon je veux passer null à la méthode.

79
Hcabnettek
int? x = string.IsNullOrEmpty(cert) ? (int?)null : int.Parse(cert);
250
Mehrdad Afshari

Je suis tombé sur la même chose ... Je jette habituellement le null à (int?)

int? x = (string.IsNullOrEmpty(cert)) ? (int?)null: int.Parse(cert);
9
Scott Vercuski