如何在不循环的情况下一次为多个数组索引赋值?

Noz*_*zim 2 c# arrays

如何在 C# 中为数组的多个元素设置一个值?

例子:

我有一个初始化如下的数组:

int[] array=new int[]{2,3,5,3,7,2,9}
Run Code Online (Sandbox Code Playgroud)

我想将第 2 个和第 5 个索引之间的值设置为 8。怎么做?

Jim*_*hel 5

好吧,如果你想变得可爱,你可以创建另一个数组,该数组的值重复 N 次,并将Copy其添加到数组中:

int[] a = new int[]{2,3,5,3,7,2,9}
int[] replacement = new int[]{8, 8, 8, 8};
Array.Copy(replacement, 0, a, 1, 4);
Run Code Online (Sandbox Code Playgroud)

那里没有显式循环。但是您可以打赌,这里存在一个隐式循环。

而且,如果你真的想变得可爱,你可以使用 LINQ 来创建replacement数组。

尽管如此,这都是学术性的。正如其他人指出的那样,没有非循环的方式来做你所要求的 - 只是高度混淆的方式,试图隐藏正在发生循环的事实。