随机分配按钮的内容

时间:2012-04-12 19:24:58

标签: c# wpf xaml

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

所有问题都来自数据库。

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

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

2 个答案:

答案 0 :(得分: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();
    }

答案 1 :(得分:2)

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

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

var placeHolder = new Random().Next(0,3);