如何防止Random.Range重复相同的数字?

时间:2017-04-14 01:58:32

标签: c# arrays unity3d

我有一个在一定范围内产生随机数的函数,我用它来产生使用数组索引的对象,但是当我实例化3个对象时有时2个对象是相同的,我感到困惑,它意味着有2个相同的数字在不同的阵列上。我想检查它已经保存在数组中或不。你们能帮助我吗? ,谢谢

void buatobjek (){

    for (int i = 0; i < 2; i++) {
        buatrandom = Random.Range (0, jumlahrandom);
        simpannomorobject [i] = buatrandom;

1 个答案:

答案 0 :(得分:1)

您需要检查数组是否已包含数字,如果是,则生成另一个数字,只要数字存在就继续执行:

var number = Random.Range(0, jumlahrandom);

while(simpannomorobject.Contains(number))
{
    number = Random.Range(0, jumlahrandom);
}

simpannomorobject[i] = number;
相关问题