2011-04-21 46 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