bugfix> c# > 投稿

correctButton(RadioButtonのリスト)にradioButtonを追加すると、System.ArgumentNullException: 'Value cannot null'が表示されます。

namespace QuestionPaper
{
   public partial class Form1 : Form
   {
       RadioButton[] correctAnswers;
       int result { get; set; }
       
       public Form1()
       {
            InitializeComponent();
            getCorrectAnswers();
       }
       private void getCorrectAnswers()
       {
           correctAnswers.Append(radioButton1);
           correctAnswers.Append(radioButton5);
           correctAnswers.Append(radioButton11);
           correctAnswers.Append(radioButton14);
       }
       private void button1_Click(object sender, EventArgs e)
       { 
           foreach (RadioButton answer in correctAnswers) 
           {
              result = answer.Checked ? result + 1 : result;
           }
           label1.Text = label1.Text + " " + result.ToString();
       }       
}

}

回答 1 件
  • あなたのコードでは、あなたは初期化していません correctAnswers 変数。あなたの getCorrectAnsweres() 、初期化することをお勧めします correctAnswers 最初にデータを追加します。

    また、Listを使用すると、保持できるレコード数をハードコーディングする必要がなくなります。

    List<RadioButton> correctAnswers = new List<RadioButton>();
    
    

    リストの場合、簡単に使用できます。 Add() 方法。

    correctAnswers.Add(radioButton1); // make sure radioButton1 and others are initialized.
    
    

あなたの答え