実現したいこと
ボタンを押すとGridViewの行を消せるようにしたいと考えており、コードを教えていただきましたが、私のミスにより.NET Frameworkでは使えないコードになってしまいました。
このコードを.NET Frameworkでも使えるようにするにはどう改善できるのでしょうか?
発生している問題・エラーメッセージ
//*1のマークのところに同じメッセージが出ております。
CS8370 機能’NULL許容参照型’はC#7.3 では使用できません。
該当のソースコード
private void DeletionButton_Click(object sender, EventArgs e) { if (0 == dt.Rows.Count) { return; } // 日付を保存 string date = dt.Rows[0].Field<string>("日付")!; //*1 // 選択行の削除 foreach (DataGridViewRow r in ItemListDataGridView.SelectedRows) { if (!r.IsNewRow) { ItemListDataGridView.Rows.Remove(r); } } // 日付を復元 if (0 < dt.Rows.Count) dt.Rows[0]["日付"] = date; UpdateText(); } private void UpdateText() { string graph = ""; int total = 0; foreach (DataRow row in dt.Rows) { int count = row.Field<int>("個数")!; //*1 int price = row.Field<int>("値段")!; //*1 graph += new string('■', count) + Environment.NewLine; total += price; } GraphTextBox.Text = graph; TotalTextBox.Text = $"{total}"; }
補足情報(FW/ツールのバージョンなど)
VisualStudio2022 C#7.3 .NET Framework
前回の質問の話でしたら、既に回答を編集済です。
[VisualStudio2022でDataTableとDataGridViewのバインドをしたものをDataGridViewのほうから選択的に削除・編集、CSVの読み込みがしたいです。](https://teratail.com/questions/s9898n77i4wa3i#reply-47b1l3jhitlzco)
