在C#中选择随机位置

时间:2012-11-21 17:45:10

标签: c# visual-studio

您好我正在使用visual studio开发一个简单的多选择测验程序。 (C#)

我想用单选按钮做出选择,其中每个单选按钮都有一个随机选择的答案 - 其中一个是正确答案。

我在数组中填写了所有可能的答案。 而且我想知道每次不能在同一个地方做出正确的答案?

那么如何才能找到正确的答案呢?而其他地方从阵列中选择其他不正确的随机数。 :d

我知道我的问题不是很清楚,我不知道如何解释。 ><

2 个答案:

答案 0 :(得分:1)

使用c#Random()类,并使用Next

索引数组
Random r = new Random();

choice = possibleChoices[r.Next(possibleChoices.Length-1)];

然后你可以用正确的选择覆盖其中一个错误的选择

radioButtons[r.Next(radioButtons.Length-1)] = correctAnswer;

documentation

答案 1 :(得分:0)

首先,选择正确的答案,然后随机选择一个索引,并将正确的答案分配给随机单选按钮。

使用随机答案填写其他单选按钮。

提示:将单选按钮存储在列表中以方便此操作。首先用所有单选按钮填充列表,然后在填充答案时将其从列表中删除,这样您就不必处理“我把正确答案放在哪个索引中”或“复杂”通过名称“

手动引用控件的代码

编辑:正如Alexei Levenkov在另一个答案中所指出的,请参阅this thread以获取有关如何正确生成随机数的更多信息

假设您的应用中声明了Random random

List<RadioButton> buttons = new List<RadioButton>();
buttons.Add(answer);
buttons.Add(answer2);
buttons.Add(answer3);
buttons.Add(answer4);

int goodAnswerPos = random.Next(buttons.Count);
buttons[goodAnswerPos].Text = "Good Answer";
buttons.RemoveAt(goodAnswerPos);

foreach (RadioButton button in buttons)
{
    button.Text = "Randomly Selected Wrong Answer";
}

将控件存储在buttons[goodAnswerPos]将允许您在提交答案时知道用户是否选择了正确的控件。