如何将整数添加到数组并获得随机数?

How to add integers to an array and get a random number?

这是一个最喜欢的面板。 您可以 select 个数字(单击按钮),然后我想将这个数字添加到一个数组中,然后从这个数组中获取一个随机数。

public int runs;
public int randomNumber;
public int[] favorites = new int[75];

public void RandomButton()
{
    if (DataController.Instance.group == 3)
    {
            favorites[randomNumber] = UnityEngine.Random.Range(0, favorites.Length);
            Debug.Log(favorites[randomNumber]);
    }
}

public void b0()
{
    for (runs = 0; runs < favorites.Length; runs++)
    {
        favorites[runs] = 0;
    }
}

public void b1()
{
    for (runs = 0; runs < favorites.Length; runs++)
    {
        favorites[runs] = 1;
    }
}

我卡住了,因为我得到了 0 - 75 之间的随机数。我想在单击按钮后从“收藏夹”数组中获得一个随机数。

if (DataController.Instance.group == 3)
{
        var randomIndex = UnityEngine.Random.Range(0, favorites.Length);
        Console.WriteLine(favorites[randomIndex]); // random item from your array
}

answer

你在这里做什么

favorites[randomNumber] = UnityEngine.Random.Range(0, favorites.Length);

074 之间的随机值分配给数组中的项目.. 取决于当时 randomNumber 的值 ...

您更想做的是使用随机值作为索引来访问数组中的值,例如

randomNumber = favorites [UnityEngine.Random.Range(0, favorites.Length)];
Debug.Log(randomNumber);

但是,如果您使用 b0b1 用始终相同的数字填充数组,会有什么不同?

在 运行 这些方法之后,所有元素无论如何都是 01 ...


无论如何,在您的问题中,您还询问了如何添加一个数字。

你不应该为此使用数组,而应该使用 List<int> 之类的

public List<int> favorites = new List<int>();

public void AddNumber(int newNumber)
{
    favorites.Add(newNumber);
}

public void RandomButton()
{
    if (DataController.Instance.group == 3)
    {
            randomNumber = favorites[UnityEngine.Random.Range(0, favorites.Count)];
            Debug.Log(randomNumber);
    }
}