2

我正在为 WPF 中的孩子创建一个测验。

所有的问题都来自数据库。

该界面有一个问题的文本块和多个选择答案的四个按钮。

如何随机分配按钮的内容,以便正确答案不会一直在同一个按钮中?

4

2 回答 2

3

您可以使用一种方法来打乱答案:

  List<string> Shuffle(List<string> answers)
    {
        Random r = new Random();
        Dictionary<int, string> d = new Dictionary<int, string>();
        foreach (var answer in answers)
        {
            d.Add(r.Next(), answer);
        }
        return d.OrderBy(a => a.Key).Select(b => b.Value).ToList();
    }
于 2012-04-12T19:34:54.557 回答
2

本质上,您可以通过生成 0 到 3 之间的随机数作为正确答案的位置来做到这一点。然后以它们从数据库中出现的任何顺序显示其余答案。

要获取随机数,您可以使用:

var placeHolder = new Random().Next(0,3);
于 2012-04-12T19:28:43.627 回答