基本上都在标题里了。这很简单,但我不知道为什么我的 While 循环有时会失败。我时不时会得到一个长度为 2 而不是 3 的列表。
这是我的 C# 代码:
public List<int> generateRequiredSecretCode()
{
List<int> placeHolder = new List<int>();
Random random = new Random();
int randomNo = random.Next(0, 10);
while (!placeHolder.Contains(randomNo) && placeHolder.Count != 3)
{
placeHolder.Add(randomNo);
randomNo = random.Next(0, 10);
}
return placeHolder;
}
我的目标总结:我想要一个 整数列表,长度为 3,列表中的每个数字都在 0 到 9 之间,并且 独一无二
最佳答案
你可以使用一个整洁的 LINQ 两行代码
var random = new Random();
return Enumerable.Range(0,10).OrderBy(i => random.NextDouble()).Take(3).ToList();
关于c# - 生成 0 到 9 之间的三个唯一数字列表的最佳方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14398165/