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?我想为三个对象添加五种测试类型。请帮助我初学者。
答案 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。希望这有帮助!