重复n次值

时间:2018-06-04 10:24:31

标签: c# arrays

我有一组值

[1, 4, 23, 90]

并且这些值应存储在重复3的数组中,而不使用 Linq

[1, 1, 1, 4, 4, 4, 23, 23, 23, 90, 90, 90]

到目前为止我尝试过的事情

int[] collection = { 1, 4, 23, 90 };
int multiplier = 3;
int[] result = new int[collection.Length * multiplier];
for (int i = 0; i < collection.Length; i++)
    for (int j = 0; j < multiplier; j++)
        result[i + j] = collection[i];

但不知何故只填充了数组的第一个6字段

1 个答案:

答案 0 :(得分:2)

如果您正在寻找 Linq 解决方案,

Insert duplicates values linq

然后只计算要放入result的项目:i - result的项目对应i / multiplier collection s

int[] collection = new int[] { 0, 2, 25, 30 };
int multiplier = 3;
int[] result = new int[collection.Length * multiplier];

for (int i = 0; i < result.Length; i++)
  result[i] = collection[i / multiplier];