首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >将List< Byte[] >转换为Byte[]

将List< Byte[] >转换为Byte[]
EN

Stack Overflow用户
提问于 2013-04-24 06:52:43
回答 2查看 2.6K关注 0票数 0

我使用Gtk#,我需要将List<Byte[]>转换为Byte[]。我找到了这个操作here的示例,但它是.NET框架的示例,当我试图通过Gtk#完成它时,我有一些编译错误:

“TypeSystem.Collections.Generic.List<byte[]>' does not contain a definition forSelectMany‘并没有找到扩展方法SelectMany(您是缺少了一个使用指令还是一个程序集引用?) (CS1061)”。

我如何解决这个错误,或者Gtk#的其他转换方法可以使用什么?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-04-24 07:02:11

确保:

  1. 您使用的是.NET框架3.5或更高版本。
  2. 您有对System.Core的引用。
  3. 在你的合作文件的顶部有“使用System.Linq”。
票数 1
EN

Stack Overflow用户

发布于 2013-04-24 06:58:45

IEnumerable的扩展是后来的.net框架版本的一部分,Gtk#可能没有它们,或者它们可能在另一个名称下。

一个简单的方法(不确定是否有更简单的方法)是计算数组所需的总大小,并将其初始化到该大小。然后循环遍历列表,并将每个byte[]中的数据放入新的byte[]中,方法是跟踪您在数组中的距离。

代码语言:javascript
复制
private static Byte[] ConvertList(List<Byte[]> list)
    {
        int totalLength = 0;

        foreach (byte[] b in list)
        {
            totalLength += b.Length;
        }

        byte[] result = new byte[totalLength];

        int currentPosition = 0;

        foreach (byte[] byteArray in list)
        {
            foreach (byte b in byteArray)
            {
                result[currentPosition] = b;
                currentPosition++;
            }
        }

        return result;
    }
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/16185255

复制
相关文章

相似问题

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