Qikuzou
@Qikuzou

Are you sure you want to delete the question?

Leaving a resolved question undeleted may help others!

warning CS8602: null 参照の可能性があるものの逆参照です。

Q&A

Closed

解決したいこと

C#のターゲットフレームワークを.NET 8.0から9.0に変更したところ、警告が表示されるようになりました。警告の言っていることは理解できますが、プロジェクト設定の変更やpragmaを使った表示抑制ではなく、もっとスマートな方法で警告を消したいです。

発生している問題・エラー

warning CS8602: null 参照の可能性があるものの逆参照です。

該当するソースコード

const string ColumnName1 = "ColumnName1";

var dgv = new DataGridView();
dgv.Columns.Add(ColumnName1, "HeaderText1");
dgv.Columns[ColumnName1].ReadOnly = true; // ←ここで警告

自分で試したこと

以下のような「nullでなければ代入」のような感じの式にして警告を消したいと思い調べましたが、正解にたどり着けませんでした。プロジェクト設定の変更やpragmaを使った表示抑制ではなく、スマートに警告を消す方法はありませんでしょうか。

dgv.Columns[ColumnName1]??.ReadOnly = true;
0

1Answer

Comments

  1. @Qikuzou

    Questioner

    ご回答ありがとうございます。
    「!.」は今まで何度か見かけたことはありますが、ググっても説明が見つけられなかったのでよくわからずスルーしていた演算子でした。こんな意味があったのですね。大変勉強になりました。

  2. 記号がググれないときは「C# bang dot」とか「C# 感嘆符 ピリオド」のように記号名で探すと出てきやすいです。

Your answer might help someone💌