如何根据随机顺序将对象添加到RadioButtonList?

我正在系统的后端创建一个单选按钮列表。 有没有让我用随机顺序显示项目的方法?

我的代码:

 

C#

  RadioButtonList1.Items.Add(New ListItem(rsQuestion("a"), "A")) RadioButtonList1.Items.Add(New ListItem(rsQuestion("b"), "B")) RadioButtonList1.Items.Add(New ListItem(rsQuestion("c"), "C")) RadioButtonList1.Items.Add(New ListItem(rsQuestion("d"), "D")) 

使用随机类创建一个数字列表,范围1是起始,4是单选按钮的表号。 使用listitems创建另一个列表,然后遍历数字列表并将它们添加到索引中,因为该strating必须是一个整数,您必须从数字列表中减去一个

 Random ran = new Random(); var numbers = Enumerable.Range(1, 4).OrderBy(i => ran.Next()).ToList(); List ans= new List(); ans.Add(new ListItem(rsQuestion["a"].ToString(), "A")); ans.Add(new ListItem(rsQuestion["b"].ToString(), "B")); ans.Add(new ListItem(rsQuestion["c"].ToString(), "C")); ans.Add(new ListItem(rsQuestion["d"].ToString(), "D")); foreach (int num in numbers) { RadioButtonList1.Items.Add(ans[num - 1]); } 

您必须使用’OrderBy’方法来排序RadioButtonList的数据源。 而且,由于您想随机订购,您必须使用随机因素。

为此,您应该在C#中使用“Random”类。

使用此代码:(将数据源放在单选按钮列表而不是’yourList’)

 Random ran = new Random(); RadioButtonList1.DataSource = yourList.OrderBy(x => ran.Next()).ToList();