web-dev-qa-db-ja.com

C#コードはコンパイルされません。 nullとintの間の暗黙的な変換はありません

可能性のある複製:
Nullable型と三項演算子:なぜ `?10:null`は禁止されていますか?

なぜこれが機能しないのですか?有効なコードのようです。

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

これをどのようにコーディングすればよいですか?メソッドはNullableを取ります。ドロップダウンで文字列が選択されている場合、それをintに解析する必要があります。そうでない場合は、メソッドにnullを渡します。

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

私は同じことを見つけました...私は通常、nullを(int?)にキャストします

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