質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.49%
C#

C#はマルチパラダイムプログラミング言語の1つで、命令形・宣言型・関数型・ジェネリック型・コンポーネント指向・オブジェクティブ指向のプログラミング開発すべてに対応しています。

Q&A

1回答

1262閲覧

C#8.0用のコードをC#7.3で使えるようにしたいです。

退会済みユーザー

退会済みユーザー

総合スコア0

C#

C#はマルチパラダイムプログラミング言語の1つで、命令形・宣言型・関数型・ジェネリック型・コンポーネント指向・オブジェクティブ指向のプログラミング開発すべてに対応しています。

0グッド

0クリップ

投稿2023/04/03 04:39

実現したいこと

ボタンを押すと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

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

! を削除すれば良いはず

! (null 免除) 演算子 (C# リファレンス)
https://learn.microsoft.com/ja-jp/dotnet/csharp/language-reference/operators/null-forgiving

投稿2023/04/03 06:12

編集2023/04/03 06:14
退会済みユーザー

退会済みユーザー

総合スコア0

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

退会済みユーザー

退会済みユーザー

2023/04/03 08:39

「説明が不足している回答」と思うなら何がわからないのか聞こう。何がわからないのかも分からないから何を聞けば良いのかもわからないなら、そう言えばそれなりに答えるよ。
Zuishin

2023/04/03 09:00

これまでの質問から見て、わかるつもりなんかないんでしょう。 コードを作ってほしいだけで。 それはともかく、int? は null 許容参照型ではないので、! を削除しただけでは解決しないんじゃないかと思います。 質問には同じメッセージと書いてありますが、同じになりますかね、これ。
退会済みユーザー

退会済みユーザー

2023/04/03 14:38

結局退会。また、新たにアカウントを取って現れるのかな。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.49%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問