这是将Byte的多维数组转换为字节数组列表的最佳方法吗?

时间:2013-02-05 10:15:09

标签: c#

我有一个必须返回字节列表的方法如下:

 public List<byte[]> ExportXYZ(IPAddress ipAddress, WebCredential cred)

在上面的方法中,我调用第三方方法,它返回一个多维字节数组:

 byte[][] tempBytes = xyzProxy.ExportCertificates();

现在我需要将byte[][]转换为List<byte[]>

我在下面写了代码

private List<byte[]> ConvertToSigleDimensional(byte[][] source)
{
    List<byte[]> listBytes = null;

    for(int item=0;item < source.Length;item++)
    {
        listBytes.Add(source[i][0]);
    }

    return listBytes;
}

我觉得这不是一种好的编码方式。任何人都可以帮我编写适当的转换代码吗?

1 个答案:

答案 0 :(得分:4)

您的方法不会返回byte的列表 - 它会返回字节数组的byte[]列表。

由于您的输入是一个字节数组数组,因此您可以简单地从一个数组转换为另一个数组。

使用LINQ:

  byte[][] arr = ...;
  List<byte[]> list = arr.ToList();

没有LINQ:

  byte[][] arr = ...;
  List<byte[]> list = new List<byte[]>(arr);