Как прочитать байтовый массив из входящего объекта коллекции из словаря - PullRequest
0 голосов
/ 05 февраля 2019

У меня есть свойство, как показано ниже:

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

Теперь мне нужно пройти через цикл и получить только байтовый массив в байтовый массив (Это в основном массив изображений. Как мне это сделать?

Я пробовал что-то похожее ниже, но я знаю, что это неправильно, но что-то подобное мы пытаемся прочитать? Возможно, оно содержит до 10 элементов. Может иметь 1 или до 10 ...

Обновление Я предпочитаю читать все до 10 или все, что находится в массиве до 10, в массив "image" ниже ... переменная, которую я имею ....

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"
   }
]

Я хочу прочитать «документ» в этот список ... так что в основном эта структура данных может иметь до 10 элементов .... каждый может иметь разныетипы файлов, такие как .jpg, .tiff и т. д. Я хочу, по крайней мере, извлечь «тип расширения - соответствующее значение байта

Кроме того, мне нужно иметь соответствующее имя элемента, первое значение в данных выше

1 Ответ

0 голосов
/ 05 февраля 2019

Ну, ваш вопрос немного неясен для меня, но мне кажется, что вы просто хотите прочитать массив байтов каждого элемента в вашем словаре.

Если это так, вам нужно тольковзаимодействовать со свойством 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);
}
...