gpt4 book ai didi

c# - 用随机值替换多维数组中的所有项目

转载 作者:行者123 更新时间:2023-12-01 18:53:55 24 4
gpt4 key购买 nike

对于一维数组,通常我会使用如下所示的 for 循环,但我想不出一种不涉及大量循环的方法。

for (int i = 0; i < myArray.length; ++i)
{
myArray[i] = rnd.Next(1, 500);
}

最佳答案

您可以尝试低级别 Buffer.BlockCopy隐藏循环:

  // N-D array (whatever dimensions)
int[,,] array = new int[3, 5, 11];

Buffer.BlockCopy(
Enumerable
.Range(0, array.Length)
.Select(x => rand.Next(0, 500))
.ToArray(),
0,
array,
0,
array.Length * sizeof(int)); // sizeof(int) : we copy bytes...

我们创建一维数组

    Enumerable
.Range(0, array.Length)
.Select(x => rand.Next(0, 500))
.ToArray()

获取 N 维一的总长度 (array.Length == array.Length(0) * ... * array.GetLEngth(N)) 并将其复制到 N 维一中。

关于c# - 用随机值替换多维数组中的所有项目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41018053/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com