2017-02-01 39 views
-1

產生相同的價值我想在每個重複foreachC#隨機是在foreach

@foreach (var item in Model) 
     { 
      Random r = new Random(); 
      int s = r.Next(0, 5);            
      <span>@(s)</span>     
     } 

的隨機數,但我得到相同的值,而不是隨機值。

+4

將這個'Random r = new Random();'移到'foreach'循環之外。 – Nasreddine

+0

Random類的實例正在創建時間太近。所以他們都會用相同的隨機序列播種。 –

+0

此外,@ S.Akbari - 隨機實例通常使用相同的種子生成 - 由於被創建的時間太近 – Ben

回答

1
Random r = new Random(); 

@foreach (var item in Model) 
     { 
      int s = r.Next(0, 5);            
      <span>@(s)</span>     
     } 
+0

它不會有太大的幫助......他們中的大多數人會是一樣的 – Sergio