2017-02-01 40 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