【问题标题】:How to read byte array from an incoming collection object of dictionay如何从字典的传入集合对象中读取字节数组
【发布时间】:2019-02-05 02:51:24
【问题描述】:

我有如下属性:

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 等,我至少想要提取“扩展类型-对应字节值”

另外,我需要有对应的项目名称,上面数据中的第一个值

【问题讨论】:

  • 所以您想从字典中的每个项目中获取所有字节并将它们存储在什么地方?你想把所有字节加在一起吗?还是你想要一个字节数组列表?
  • 另外你说你有一个名为 Collection 的属性,那么你正在循环一个名为 request.Attachment 的东西,你能否更新你的问题并添加 ALL 我们需要的适当信息回答它
  • @MichaelRandall:感谢您的指导,选择,我同意并更新我的问题。
  • @Learner,假设您的 input.Collection 已经填充了来自上面提供的 json 的数据,并且 val.Key 是文件名,您可以使用 System.IO.Path.GetExtension(val.Key) 提取扩展名和 @ 987654329@ 仅提取文件名。
  • @yv989c:谢谢你帮助了我。一个简单的问题,我的文件名为“Image.jpg”,我如何找到扩展名“jpg”

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


【解决方案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);
}

【讨论】:

  • 谢谢你,这很简单。一个问题,我想在下面的结构中分配字符串,这是关键。怎么做 ?它就像 Image 1 - .JPG, Image 2 -.tiff 等
  • @Learner,对不起,我不明白这个问题......你能用解释更新你的问题吗?还是创建一个新问题?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-08-12
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-06-04
相关资源
最近更新 更多