类方法内的随机整数保持不变

时间:2019-06-07 10:42:25

标签: c#

我有2节课;主类和人类。每个人都有一些属性,包括姓名,年龄和性别。我在Person类randomName()中有一个方法,该方法从设置列表中选择一个随机的名字和姓氏。要选择一个随机名称,我首先创建一个Random对象。然后,我选择2个随机整数,并使用这些整数选择一个随机名称。当我尝试在主类中创建2个Person对象时,就会出现我的问题-它们都具有相同的名称。每次调用该方法时,都使用完全相同的整数将问题缩小到我的Person类randomName()方法中。为什么要这样做?

class Person
{
  public string Firstname { get; set; }
  public string Surname { get; set; }
  public string Gender { get; set; }

  public void randomName()
  {
    string[] names = { ... }; // array of possible names 

    Random rand = new Random();
    int a = rand.Next(names.Length - 1); // length of names array

    string name = names[a]; // grab random name

    Console.WriteLine(name);
  }
}

class Main
{
  public Main()
  {
    Person a = new Person();
    a.randomName();

    Person b = new Person();
    b.randomName();

    // These 2 Person objects have the exact same name every single time
  }
}

编辑:已解决
我犯了一个错误的想法,认为我可以在几毫秒内创建多个Random对象,认为这样做会创建完全不同的随机种子。我错了。

0 个答案:

没有答案