如何从字典的传入集合对象中读取字节数组

时间:2019-02-05 02:51:25

标签: c# arrays .net c#-4.0 byte

我有一个类似以下的属性:

public Dictionary<string, Byte[]> Collection{ get; set; }

现在我需要循环遍历,仅将字节放入字节数组(这基本上是图像数组。我该怎么办?

我尝试了以下类似的操作,但是我知道它是错误的,但是我们尝试阅读类似的内容吗?它可能有多达10个项目。它可以有1个或最多10个...

更新我更喜欢将所有最多10个数组或数组中最多10个数组的内容读取到下面的“图像”数组中...我有一个变量。...

byte[] image = new byte[10];
                foreach (KeyValuePair<string, byte[]> val in input.Collection)
                {
                    image = // read all the bytes alone as array...It can have 1 or 2 or upto 10...

                }

更新

我有这个

[  
   {  
      "name":"image.jpg",
      "doc":"0x255044462D312E370A25E4E3CFD20A342030206F626A0A3C3C2F537562747970652F496D6167652F5769647468203431332F486569676874203132332F4D61736B5B323535203235355D2F426974735065724",
      "numberId":"2adb2911-9dea-4ca3-9a48-a4ef918c9ee8",
      "RefID":"2adb2911-9dea-4ca3-9a48-a4ef918c9ee8"
   }
]

我想将“ doc”读入此列表...因此,基本上该数据结构最多可以包含10个项目。...每个文件可能具有不同的文件类型,例如.jpg,.tiff等,我至少希望提取“扩展名类型-相应的字节值

此外,我需要具有相应的商品名称,即上面数据中的第一个值

1 个答案:

答案 0 :(得分:1)

嗯,您的问题对我来说有点晦涩,但在我看来,您只是想读取字典中每个元素的字节数组。

在这种情况下,您只需要与val.Value属性进行交互。如果要将其值分配给image变量,只需执行以下操作:

byte[] image;
foreach (KeyValuePair<string, byte[]> val in input.Collection)
{
    image = val.Value;
    // Then do something with 'image', like: System.IO.File.WriteAllBytes($"C:\\MyImage_{val.Key}.jpg", image);
}