In Java there are about 18 a static "fill" methods in the class Arrays that serve to assign one value to each element in an array. I'm looking for an equivalent in C# to achieve the same thing but I'm not finding anything with the same compactness:
1) ForEach as I understand passes elements in the array by value so I can't change them
2) Repeat from Enumerable creates a new array, it seems to be overhead to create a new array and then copy each element from the array
3) a for-loop isn't pretty, which I guess is why the Java folks introduced this compact notation to begin with
4) The Clear method from the Array class can set everything to zero, but then how do I convert zero to the non-zero value I want?
To demonstrate Java's syntax consider this code that prints three times the number 7:
int[] iii = {1, 2, 3};
Arrays.fill(iii, 7);
for (int i : iii) {
System.out.println(i);
}