c# - 在 C# 中生成和重复数字

标签 c# repeat enumerable

我想生成一个包含 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/

相关文章:

c# - 在回调请求上保留 ViewState

c# - 无法在 LINQ to Entities 查询中构造实体或复杂类型 ' '

c# - 在 WPF TextBlock 中显示 XAML 格式的文本

java - 使用 arrayList 作为 XPages 中重复控件的源

html - 使用 CSS3 连续向上动画气泡?

c# - 使用 Linq 和 Guid 的匿名类型

ruby - 为什么 `Enumerable` 有 `first` 而不是 `last` ?

c# - 音频指纹识别和归一化

regex - 双字的正则表达式

采用数组或多个参数的 Ruby block