90

重複の可能性:
Null 許容型と三項演算子: なぜ `? 10 : null`禁止?

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

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

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

4

2 に答える 2

285
int? x = string.IsNullOrEmpty(cert) ? (int?)null : int.Parse(cert);
于 2009-08-14T17:18:52.550 に答える
10

私は同じことに出くわしました...私は通常、nullを(int?)にキャストするだけです

int? x = (string.IsNullOrEmpty(cert)) ? (int?)null: int.Parse(cert);
于 2009-08-14T17:19:17.120 に答える