ログ出力か何かをしているときに遭遇したこと
メッセージ内容を入れた文字列がたまにnullの時があったのだが
if文でnullの時に文字を置き換えるのがめんどくさいからちょっと調べたメモ
バグを起こしてみる
stringの変数を宣言して、初期値を何も設定しないままだと
その辺数はnullになるみたいが、
それをやると構文エラーを出してくる賢い子だったので
わざとstringにnullを入れて実行してみた
Formのボタンをクリックして実行!
ToString()で怒られた
単純に考えたら
if (msg == null)
{
msg = "";
}
みたいな処理を書いてたけど、もっと何とかならないかなって調べた結果
次の書き方ができるらしい
エラーが出ないよう書きなおす
msg ?? ""
null合体演算子というらしい
これで実行してみる
button1をもっかいクリック
エラーは出なかった
ちゃんと置き換えてくれているのかわかりにくいので
msgがnullの時は"nullだよ"って表示されるようにしてみる
表示された
以下メモ
変数aがnullでない場合はa、nullの場合はbを使いたいときの簡単な書き方
変数a ?? 変数b