C# Random.Next()始终返回相同的值
我不想获取ArrayList的随机实例,但我的代码总是返回相同的值C# Random.Next()始终返回相同的值,c#,C#,我不想获取ArrayList的随机实例,但我的代码总是返回相同的值 public static void randomEvent(){ Random rnd = new Random(); int which = rnd.Next(1,events.Count); Debug.WriteLine("Which event: " + which); Debug.WriteLine("Count Even
public static void randomEvent(){
Random rnd = new Random();
int which = rnd.Next(1,events.Count);
Debug.WriteLine("Which event: " + which);
Debug.WriteLine("Count Events: "+ events.Count);
((Event) events[which-1]).write();
}
事件的大小。计数为2。Move
Random rnd=new Random()代码>在randomEvent()方法之外
private static Random rnd = new Random();
public static void randomEvent(){
int which = rnd.Next(1,events.Count);
Debug.WriteLine("Which event: " + which);
Debug.WriteLine("Count Events: "+ events.Count);
((Event) events[which-1]).write();
}
移动Random rnd=new Random()代码>在randomEvent()方法之外
private static Random rnd = new Random();
public static void randomEvent(){
int which = rnd.Next(1,events.Count);
Debug.WriteLine("Which event: " + which);
Debug.WriteLine("Count Events: "+ events.Count);
((Event) events[which-1]).write();
}
如果events.Count
为2,则调用rnd.Next(1,2)
表示第一个参数是包含的,第二个参数是独占的。您返回一个int。您需要一个int x,其中1如果events.Count
为2,则您要调用rnd.Next(1,2)
表示第一个参数是包含的,第二个参数是独占的。您返回一个int。您需要一个int x,其中1个static关键字导致问题请注意,Random
实例不是线程安全的,因此如果事件可能由多个线程触发,您需要一种处理方法。static关键字导致问题请注意,Random
实例不是线程安全的,因此,如果事件可能由多个线程触发,则需要一种处理方法。