当前位置:  开发笔记 > 编程语言 > 正文

如何在开关盒中只进行一次?

如何解决《如何在开关盒中只进行一次?》经验,为你挑选了1个好方法。



1> Steve..:

创建一个问题列表

List questions = new List()
{
   strQ1,strQ2,strQ3,strQ4,strQ5,strQ6,strQ7,strQ8,strQ9,strQ10
};

然后更改您的随机生成以从列表中查找问题

Random rdmNb = new Random();
int rdm1 = rdmNb.Next(0, questions.Count);

lblQuesttion.Text = questions[rdm1];

并从列表中删除问题

questions.RemoveAt(rdm1);

无需开关....

一定要在循环外声明Random变量,以驱动您选择下一个问题.如在这个例子中

// Declare globally the random generator, not inside the question loop
Random rdmNb = new Random();

while (questions.Count > 0)
{
    int rdm1 = rdmNb.Next(0, questions.Count);
    string curQuestion = questions[rdm1];
    questions.RemoveAt(rdm1);

    lblQuestion.Text = curQuestion;

    ... ?code to handle the user input?
}

编辑
在表单内声明并初始化具有全局范围的问题列表.

public class MyForm : Form
{
     // Declaration at global level
     List questions;

     public MyForm()
     {
         InitializeComponent();
         LoadQuestions();
     }

     private void LoadQuestions()
     {
        questions = new List()
        {
            strQ1,strQ2,strQ3,strQ4,strQ5,strQ6,strQ7,strQ8,strQ9,strQ10
        };

        // In future you could change this method to load your questions
        // from a file or a database.....
     }

}

推荐阅读
跟我搞对象吧
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有