-6
public partial class Form1 : Form
{
    Course[] csharp = new Course[5];     

    public Form1()
    {
        InitializeComponent();
    }        

    private void Form1_Load(object sender, EventArgs e)
    {
        Test c1 = new Test("Quiz",
            new DateTime(2012, 6, 6), 86);
        Test c2 = new Test("Mid-Term",
           new DateTime(2012, 5, 6), 90);
        Test c3 = new Test("Final",
           new DateTime(2012, 4, 6), 87);
        Test c4 = new Test("Quiz",
           new DateTime(2012, 3, 6), 100);
        Test c5 = new Test("Quiz",
           new DateTime(2012, 2, 6), 66);
    }
}

How do I add my test c5 to my object array csharp? i want to add five tests types to three objects. Pls help I'm on the beginner level.

4

3 に答える 3

3

次のように、配列初期化構文を使用して、配列を宣言し、それに値を割り当てることができます。

Test[] tests = {
    new Test("Quiz", new DateTime(2012, 6, 6), 86),
    new Test("Mid-Term", new DateTime(2012, 5, 6), 90),
    new Test("Final", new DateTime(2012, 4, 6), 87),
    new Test("Quiz", new DateTime(2012, 3, 6), 100),
    new Test("Quiz", new DateTime(2012, 2, 6), 66)
};
于 2012-06-08T18:01:22.280 に答える
1

私は初心者で、このような質問があったことを理解しています。テストオブジェクトをコースオブジェクトに追加することはできません。これらは2つの異なるものです。

あなたは次のようなものが必要です

  Test[] courseTests = new Test[5];

そして、実行して追加します

   courseTests[1] = new Test("Quiz", new DateTime(2012, 6, 6), 86);

または、リストList<Test> courseTests = new List<Test>();を使用してcourseTests.Addを使用することもできます


編集:

私はあなたが何を意味するのかわかります、あなたはこのようなものが必要です:

public Class course
{
    public List<Test> tests = new List<Test>();
     //Place other course code here
}
public Class Test
{
   public string Name;
   public Datetime Time;
   public int Number;
    Test(string name, Datetime time, int number)
    {
Name = name;
Time = time;
Number = number;
    }
}

そして、あなたのメインメソッドか何かで、Course.tests.Add(new Test(Blah blah blah));

于 2012-06-08T18:03:28.513 に答える
0

必要なサイズに設定された Course クラスに Test[] を作成します。次に、このような void メソッドを作成します。以下のコードでは、myTests がテスト配列です。お役に立てれば!

    public void addTest(Test a)
    {
       for (int i = 0; i < myTests.Length; i++)
       {
           if (myTests[i] == null)
           {
               //Adds test and leaves loop.
               myTests[i] = a;
               break;
           }
           //Handler for if all tests are already populated.
           if (i == myTests.Length)
           {
               MessageBox.Show("All tests full.");
           }
        }
    }

また、テスト配列のサイズを動的にしたい場合は、ArrayList を使用できます。お役に立てれば!

于 2012-06-08T18:24:01.103 に答える