我想生成一个包含 144 个数字的数组,从 1->36 随机排列(因此每个数字重复 4 次)。我们可以使用 Enumerable.Repeat 和 Enumerable.Range 来做到这一点吗?如果是,请向我解释如何?
最佳答案
好吧,创建包含所有数字的序列很容易:
var items = from x in Enumerable.Range(1, 36)
from y in Enumerable.Repeat(x, 4)
select y;
然后您可以使用 ToArray
将其放入一个数组中并将其打乱。 SO 上关于在 C# 中改组数组的问题有很多,例如 this one .您可以直接使用该代码,也可以调用 ToArray
并就地打乱数组而不在最后产生它。
关于c# - 在 C# 中生成和重复数字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2019899/