持有价值的物品。我需要为我的对象添加五个测试

时间:2012-06-08 17:57:47

标签: c#

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);
    }
}

如何将测试c5添加到我的对象数组csharp?我想为三个对象添加五种测试类型。请帮助我初学者。

3 个答案:

答案 0 :(得分:3)

您可以使用array initializer syntax声明一个数组并为其指定一个值,如下所示:

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)
};

答案 1 :(得分:1)

我知道我是初学者并且有这样的问题!你不能将一个测试对象添加到一个课程对象,它们是两个不同的东西!

你需要像

这样的东西
  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;
    }
}

然后在您的Main方法或其他任何内容中,执行Course.tests.Add(new Test(Blah blah blah));

答案 2 :(得分: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。希望这有帮助!