【发布时间】:2012-10-11 15:44:58
【问题描述】:
private void QuestionAnswer_Load(object sender, EventArgs e)
{
txtQuestion.Enabled = false;
txtQuestion.BackColor = Color.White;
grpMultipleChoice.Enabled = false;
grpSingleChoice.Enabled = false;
btnCheckAnswer.Enabled = false;
btnNext.Enabled = false;
btnQuit.Enabled = false;
//force student to enter registration details
if (txtStudentName.Text == "" && txtStudentNumber.Text == "" && txtModuleNumber.Text == "")
{
btnStart.Enabled = false;
MessageBox.Show("You must enter your registration details at the upper right corner");
}
//declare a list
lstNumbers = new ArrayList();
//create a random number generator
Random rndNumber = new Random();
//generate 70 random numbers
//int number = (int)(rndNumber.NextDouble() * 69) + 1;
//lstNumbers.Add(number);
///use this counter to loop whenever a number is generated
int count = 0;
int maximumNumber = 69;
///disable answer button
btnCheckAnswer.Enabled = false;
do
{
int number = (int)(rndNumber.NextDouble() * maximumNumber) + 1;
lstNumbers.Add(number);
if (!lstNumbers.Contains(number))
{
lstNumbers.Add(number);
}
count++;
} while (count <= 15 * 70);//
btnCheckAnswer_Click(sender, e);
return lstNumbers;//returns once list is built
}
说明: 我创建了一个数组列表,允许我在 1-70 之间随机生成,但注意到 我的数字有些重复。为了防止这种情况,我注意到我得到了一个 错误信息如下:
错误 1 由于 'wwTestAppV1.GenKnow.QuestionAnswer_Load(object, System.EventArgs)' 返回 void,return 关键字后面不能跟对象表达式
我已尽我所能解决这个问题。当我删除它时程序运行良好 语句,但显示重复值。你能帮忙吗?
【问题讨论】:
-
你的意思是:返回 lstNumbers?在返回时显示曲线之前我已经尝试过了。
-
除非您使用 Visual Studio 2003 和 C# 1 进行编程,否则您不应该使用 ArrayList。使用 System.Collections.Generic 中的 List
-
我想补充一下 private void QuestionAnswer_Load(object sender, EventArgs e) 是它所属的方法。我什至尝试将 void 更改为字符串,这样我就可以使用 To String() 返回,但它仍然不起作用
-
它在 Visual Studio 2012 @ Anthony 上
-
已经说过,通过使用'void',你本质上是在说你的函数不会返回任何东西。您需要指定要返回的对象的确切类型。 (对不起,我之前的评论是 c++ ......所以我删除了它)。