首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >c#将字节[ *,*,*]转换为byte[]

c#将字节[ *,*,*]转换为byte[]
EN

Stack Overflow用户
提问于 2009-09-03 07:24:38
回答 1查看 729关注 0票数 1

我有一个具有字节类型属性的对象,*

现在,我想使用System.Random::NextBytes()来使用随机值填充这个多维数组。然而,NextBytes采用了byte[]的论点

我能否以某种方式将多维数组转换为单维数组,以便将其作为一个参数传递?

谢谢!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2009-09-03 07:29:51

您不能转换它,但是可以使用byte[]快速地将值从普通byte[,,]复制到Buffer.BlockCopy。因此,您必须首先分配一个普通字节数组,然后复制结果。

示例:

代码语言:javascript
复制
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);
    }
}
票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1371887

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档