我正在创建一个在不同视图上显示随机字符串的局部视图。如何随机化存储在arraylist或任何集合中的字符串,然后在每次用户请求时显示不同的新闻?
请建议。
答案 0 :(得分:2)
使用Random
类在列表中获取随机索引:
Random ran = new Random();
int randomIndex = ran.Next(myList.Length);
return myList[randomIndex];
注意:由于默认情况下Random
使用时间作为种子,并产生伪随机结果,如果在闭环中调用,则可以重复获取相同的字符串。
我想说,由于这是一个网页设置,并且同一个用户不会经常重新加载,这应该可以正常用于您的目的。
如果经常调用Random
,则使用静态字段可以提供帮助:
// private field
private static Random ran = new Random();
// in a method
int randomIndex = ran.Next(myList.Length);
return myList[randomIndex];