我有一个具有字节类型属性的对象,*
现在,我想使用System.Random::NextBytes()来使用随机值填充这个多维数组。然而,NextBytes采用了byte[]的论点
我能否以某种方式将多维数组转换为单维数组,以便将其作为一个参数传递?
谢谢!
发布于 2009-09-03 07:29:51
您不能转换它,但是可以使用byte[]快速地将值从普通byte[,,]复制到Buffer.BlockCopy。因此,您必须首先分配一个普通字节数组,然后复制结果。
示例:
using System;
class Test
{
static void Main()
{
Random rng = new Random();
byte[,,] y = new byte[2,2,2];
FillArray(y, rng);
foreach (byte b in y)
{
Console.WriteLine(b);
}
}
static void FillArray(byte[,,] array, Random rng)
{
byte[] tmp = new byte[array.Length];
rng.NextBytes(tmp);
Buffer.BlockCopy(tmp, 0, array, 0, tmp.Length);
}
}https://stackoverflow.com/questions/1371887
复制相似问题