[解決済み】Nullable型と三項演算子:なぜ`? 10 : null` は禁止されているのですか?[重複)。
2022-04-19 01:55:48
質問
変なエラーに遭遇したんだけど
private bool GetBoolValue()
{
//Do some logic and return true or false
}
そして、別のメソッドで、次のようなことをします。
int? x = GetBoolValue() ? 10 : null;
単純に、メソッドがtrueを返した場合、Nullableに10を代入します。
int
x. そうでない場合は、NULLを
nullable
intを使用します。しかし、コンパイラは文句を言う。
エラー1 条件式の型が決定できない。
int
と<null>
.
私、おかしくなっちゃったのかな?
解決方法は?
コンパイラは、まず右辺の式を評価しようとします。
GetBoolValue() ? 10 : null
は
10
は
int
リテラル(not
int?
) と
null
は、まあ。
null
. この2つの間に暗黙の変換がないため、エラーメッセージが表示されます。
右辺の式を次のいずれかに変更すると、コンパイルされます。
int?
と
null
(#1)の間と
int
と
int?
(#2, #3).
GetBoolValue() ? (int?)10 : null // #1
GetBoolValue() ? 10 : (int?)null // #2
GetBoolValue() ? 10 : default(int?) // #3
関連
-
[解決済み】プログラム実行中に1秒待つ
-
[解決済み] C#のStringとstringの違いは何ですか?
-
[解決済み] C#のconstとreadonlyの違いは何ですか?
-
[解決済み] Kotlin 三項条件演算子
-
[解決済み] Bash における三項演算子 (?:)
-
[解決済み] NULL-COALESCING 演算子のカスタム暗黙変換の不思議な挙動
-
[解決済み] Nullable<T>.HasValueとNullable<T> != nullの違いは何ですか?
-
[解決済み】'int'と<null>の間に暗黙の変換がないため、条件式の型が決定できない
-
[解決済み】Pythonに三項条件演算子はありますか?
-
[解決済み] ?:条件演算子でNullable型になる問題
最新
-
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 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] エンティティタイプ ApplicationUser は、現在のコンテキストのモデルの一部ではありません。
-
[解決済み】Excel "外部テーブルが期待された形式ではありません。"
-
[解決済み】SmtpException: トランスポート接続からデータを読み取れません:net_io_connectionclosed
-
[解決済み】ソケットのアドレス(プロトコル/ネットワークアドレス/ポート)は、通常1つしか使用できない?
-
[解決済み】C# ASP.NET使用時に「WebClientのリクエスト中に例外が発生しました。
-
[解決済み】なぜこのコードはInvalidOperationExceptionを投げるのですか?
-
[解決済み】Moqを使用してメソッド呼び出しを検証する
-
[解決済み】2つ(またはそれ以上)のリストを1つに統合する(C# .NETで
-
[解決済み】Microsoft.Extensions.LoggingからILoggerを解決することができない
-
[解決済み] c# nullable intにnullを代入できない理由 [重複]...