C# code won't compile. No implicit conversion between null and int

Hcabnettek picture Hcabnettek · Aug 14, 2009 · Viewed 44.7k times · Source

Possible Duplicate:
Nullable types and the ternary operator: why is `? 10 : null` forbidden?

Why doesn't this work? Seems like valid code.

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

How should I code this? The method takes a Nullable. If the drop down has a string selected I need to parse that into an int otherwise I want to pass null to the method.

Answer

Mehrdad Afshari picture Mehrdad Afshari · Aug 14, 2009
int? x = string.IsNullOrEmpty(cert) ? (int?)null : int.Parse(cert);