Field within a variable dynamically using array

1

Here is code:

byte[] Imagem1 = null;
byte[] Imagem2 = null;
byte[] Imagem3 = null;
byte[] Imagem4 = null;
byte[] Imagem5 = null;
byte[] Imagem6 = null;

How can I declare the bytes [] variables within an array?

I've tried this:

byte[] imagem = new byte[6];

Problem:

foreach (string item in Request.Files)
{
    HttpPostedFileBase file = Request.Files[item] as HttpPostedFileBase;
    imagem[0] = ConvertToBytes(file);
}

Error:

Cannot implicitly convert type 'byte[]' to 'byte'

Another example:

int[] inteiros = new int[5];

inteiros[0] = 154;
inteiros[1] = 02555;

I know that this works by int or string, I just can not get by the byte [].

    
asked by anonymous 13.04.2017 / 03:30

1 answer

1

The error is here: imagem[0] = ConvertToBytes(file);

byte[] imagem = new byte[6];

foreach (string item in Request.Files)
{
    HttpPostedFileBase file = Request.Files[item] as HttpPostedFileBase;
    imagem[0] = ConvertToBytes(file);
}

The correct one would be

byte[] imagem = new byte[6];
foreach (HttpPostedFileBase item in Request.Files)
{
    imagem = ConvertToBytes(item);
}

Maybe what you need is this:

List<byte[]> imagens=new List<byte[]>();

for ( int i=0;i<Request.Files.Count();i++)
{
   imagens.Add( ConvertToBytes(Request.Files[i]));
}

But the way you are doing, the correct one would be:

byte[] Imagem1 = null;
byte[] Imagem2 = null;
byte[] Imagem3 = null;
byte[] Imagem4 = null;
byte[] Imagem5 = null;
byte[] Imagem6 = null;

foreach (HttpPostedFileBase item in Request.Files)
{
    HttpPostedFileBase file = item;
    if(Imagem1 == null)
       Imagem1 = ConvertToBytes(file);
    if(Imagem2 == null)
       Imagem2 = ConvertToBytes(file);
    if(Imagem3 == null)
       Imagem3 = ConvertToBytes(file);
    if(Imagem4 == null)
       Imagem4 = ConvertToBytes(file);
    if(Imagem5 == null)
       Imagem5 = ConvertToBytes(file);
    if(Imagem6 == null)
       Imagem6 = ConvertToBytes(file);
}
    
13.04.2017 / 03:45