Random 随机数总是一样的

Random 随机数总是一样的,random,numbers,repeat,Random,Numbers,Repeat,为什么我想创建只包含0和1个元素的简单3x3矩阵。但是,当我创建包含3x3矩阵的矩阵对象Racunalo的2D数组5x5时,所有25个矩阵在完全相同的位置上都有0和1个元素,但我希望所有矩阵都不同。怎么做?如果有什么好灵魂知道灵魂,我会感谢你的帮助。这是我的密码: public class Racunalo { public int[,] informacija = new int[3, 3]; public void popuniInformacijuRacunala()

为什么我想创建只包含0和1个元素的简单3x3矩阵。但是,当我创建包含3x3矩阵的矩阵对象
Racunalo
的2D数组5x5时,所有25个矩阵在完全相同的位置上都有0和1个元素,但我希望所有矩阵都不同。怎么做?如果有什么好灵魂知道灵魂,我会感谢你的帮助。这是我的密码:

public class Racunalo
{
    public int[,] informacija = new int[3, 3];
    public void popuniInformacijuRacunala()
    {
        Random rand = new Random(Guid.NewGuid().GetHashCode());
        for (int i = 0; i < 3; i++)
        {
            for (int j = 0; j < 3; j++)
            {
                informacija[i, j] = rand.Next(0,2);
            }
        }
    }
}

public class Resetka
{
    public static Racunalo[,] resetkaRacunala = new Racunalo[5, 5];

    public void popuniInformacijeSvihRacunala()
    {
        Racunalo rac = new Racunalo();
        for (int i = 0; i < 5; i++)
        {
            for (int j = 0; j < 5; j++)
            {
                rac.popuniInformacijuRacunala();
                resetkaRacunala[i, j]=rac;
            }
        }

    }
}
公共类Racunalo
{
公共int[,]informacija=新int[3,3];
公共无效popuniInformacijuRacunala()
{
Random rand=new Random(Guid.NewGuid().GetHashCode());
对于(int i=0;i<3;i++)
{
对于(int j=0;j<3;j++)
{
informacija[i,j]=rand.Next(0,2);
}
}
}
}
公共类重置卡
{
公共静态Racunalo[,]resetkaRacunala=新Racunalo[5,5];
公共信息无效Popuniinformacijesviracunala()
{
Racunalo rac=新的Racunalo();
对于(int i=0;i<5;i++)
{
对于(int j=0;j<5;j++)
{
rac.popuniInformacijuRacunala();
resetkaRacunala[i,j]=rac;
}
}
}
}

您的问题是所有随机数都是使用相同的种子创建的。 每个Racunalo都具有与对象标识符相同的guid。 尝试创建一个没有参数的新随机变量

Random rand=新的Random()


或者使用不同的值(可能使用系统时钟时间)对每个随机数进行种子设定。

我尝试了所有可能的解决方案,包括您的
random rand=new random()和我总是得到相同的结果。系统时钟也有同样的问题。试着将随机对象设为静态,只创建一次,这样Racunalo的所有实例都将使用相同的随机对象