[解決済み] ?:条件演算子でNullable型になる問題
2022-04-25 07:52:54
質問
C#.NET 2.0でなぜこれが動作するのか、どなたか説明してください。
Nullable<DateTime> foo;
if (true)
foo = null;
else
foo = new DateTime(0);
...が、これはそうではない。
Nullable<DateTime> foo;
foo = true ? null : new DateTime(0);
後者の形式では、コンパイルエラー "「'<null>'と 'System.DateTime' の間に暗黙の変換がないため、条件式の型が決定できません."」が発生します。
前者が使えないわけではありませんが、2番目のスタイルの方が私のコードの他の部分と一貫性があります。
どのように解決するのですか?
コンパイラは、「どのように変換すればいいのかわからない」と言っているのです。
null
にしています。
DateTime
.
解決策は簡単です。
DateTime? foo;
foo = true ? (DateTime?)null : new DateTime(0);
なお
Nullable<DateTime>
という書き方ができる
DateTime?
を使えば、入力の手間が省けます。
関連
-
[解決済み】Excel "外部テーブルが期待された形式ではありません。"
-
[解決済み】統合マネージドパイプラインモードで適用されないASP.NETの設定が検出された
-
[解決済み】非静的メソッドはターゲットを必要とする
-
[解決済み】WSACancelBlockingCallの例外について
-
[解決済み] [Solved] .NETでスレッドの終了を待つには?
-
[解決済み】URLから画像をダウンロードする方法
-
[解決済み] Kotlin 三項条件演算子
-
[解決済み] NULL-COALESCING 演算子のカスタム暗黙変換の不思議な挙動
-
[解決済み】'int'と<null>の間に暗黙の変換がないため、条件式の型が決定できない
-
[解決済み】Pythonに三項条件演算子はありますか?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】指定されたキャストが有効でない?
-
[解決済み】GDI+、JPEG画像をMemoryStreamに変換する際にジェネリックエラーが発生しました。
-
[解決済み】ここで「要求URIに一致するHTTPリソースが見つかりませんでした」となるのはなぜですか?
-
[解決済み】文字列が有効な DateTime " format dd/MM/yyyy " として認識されなかった。
-
[解決済み】"The ConnectionString property has not been initialized "を修正する方法
-
[解決済み】MetadataException: 指定されたメタデータ・リソースをロードできない
-
[解決済み】Linq 構文 - 複数列の選択
-
[解決済み】 C# 条件演算子エラー 代入、call、increment、decrement、await、new object 式のみ文として使用可能です。
-
[解決済み】画像のペイントにTextureBrushを使用する方法
-
[解決済み】Nullableオブジェクトは値を持たなければならない?