Java中的Arrays类提供了约18个静态的"fill"方法,用于给数组中的每个元素分配一个值。我正在寻找C#中实现同样功能的等效方法,但我没有找到与它同样简洁的方法:
1)据我所知,使用ForEach方法按值传递数组元素,因此无法更改它们
2)Enumerable类的Repeat方法创建一个新数组,从原数组复制每个元素似乎有点开销
3)使用for循环不太美观,这也是Java引入这种紧凑表示法的原因。
4)Array类的Clear方法可以将所有元素设置为零,但如何将零转换为我想要的非零值呢?
以下的Java代码演示了它的语法,它打印三次数字7:
int[] iii = {1, 2, 3};
Arrays.fill(iii, 7);
for (int i : iii) {
System.out.println(i);
}