2011-04-21 56 views
0

我正在创建一个局部视图,在不同视图上显示一个随机字符串。我如何随机化存储在arraylist或任何集合中的字符串,然后在每次用户请求时显示不同的消息?使用asp.net MVC3的随机字符串

请建议。

回答

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]; 
+0

是的,我知道了......删除我的答案 – Aliostad 2011-04-21 11:26:01

+0

@Aliostad - 我们有时会回答一个没有完全阅读的问题;) – Oded 2011-04-21 11:26:49

+0

@Oded我有三个字符串,我想随机,但在大多数情况下,随机给出相同的结果。我们可以配置它不显示以前的字符串? – DotnetSparrow 2011-04-21 11:29:48