我已经在Stack Overflow中检查了很多问题,但是找不到与我的问题类似的东西。
每次单击按钮时,我都会生成2个随机数,并且尝试将这2个数字保存在列表中,以便每次单击按钮时都可以检查重复的数字。
例如,在第一次运行中,我得到“ 5”和“ 8”,在x次之后,我再次得到了“ 5”和“ 8”的组合,因此我想防止这种情况。
firstNum = Mathf.RoundToInt(Random.Range(min, max));
secondNum = Mathf.RoundToInt(Random.Range(min, max));
private void AddingMethod(float firstNumber, float secondNumber)
{
questionNumbersList.AddRange(new float[] { firstNumber, secondNumber });
for (int i = 0; i < questionNumbersList.Count; i++)
{
Debug.Log("Position " + i + " with list number: " + questionNumbersList[i]);
}
}
我不确定如何检查两个数字的清单,看看是否已经得到'5','8'跳过它并生成两个新数字。
答案 0 :(得分:2)
您应该使用成对列表来代替浮点列表,例如通过使用元组或您自己的类,其中这样的对中的每个元素都有一个firstNumber
和一个secondNumber
:
var list = new List<(float firstNumber, float secondNumber)>();
var firstNumber = ...
var secondNumber = ...
if(list.Contains((firstNumber, secondNumber)))
// alredy contained, create new pair ...
else
list.Add((firstNumber, secondNumber));
以上要求C#7。另外,您也可以手动创建.NET 4.0上引入的新Tuple
,但是它没有命名属性:
var list = new List<Tuple<float, float>>();
list.Add(Tuple.Create(firstNumber, secondNumber));