Foros del Web » Programación para mayores de 30 ;) » .NET »

Copiar X elementos de un array a otra.

Estas en el tema de Copiar X elementos de un array a otra. en el foro de .NET en Foros del Web. C# Buenas tardes Verán, tengo dos array de bytes, uno de 1024 y otro de 65, ¿Hay alguna función que pueda usar para copiar los ...
  #1 (permalink)  
Antiguo 27/12/2007, 06:06
 
Fecha de Ingreso: junio-2003
Ubicación: Asturias
Mensajes: 2.429
Antigüedad: 20 años, 11 meses
Puntos: 7
Copiar X elementos de un array a otra.

C#

Buenas tardes

Verán, tengo dos array de bytes, uno de 1024 y otro de 65, ¿Hay alguna función que pueda usar para copiar los 65 primeras posiciones del array de 1024 al otro?

Código:
byte[] datosRecibidos = new byte[1024];
byte[] datosReales = new byte[65];

datosRecibidos.CopyTo(datosRecibidos, datosReales);

El CopyTo falla, pero busco algo asi, saben si hay alguna forma SIMPLE de hacerlo? O tendré que programarme yo la fucioncita?

También me valdría si me puden decir alguna forma de redimensionar un array pero sin perder los datos.
byte[] arrayOriginal = new byte[1024];
arrayOriginal.Redim(65);


En fin, gracias por todo.

La solucion me da igual que sea en C# que en VB, si es en C# mejor.
__________________
Charlie.

Última edición por chcma; 27/12/2007 a las 06:15 Razón: Mejorar explicacion del problema.
  #2 (permalink)  
Antiguo 27/12/2007, 08:02
 
Fecha de Ingreso: junio-2003
Ubicación: Asturias
Mensajes: 2.429
Antigüedad: 20 años, 11 meses
Puntos: 7
Re: Copiar X elementos de un array a otra.

Solucionado:

Código:
//datosLlegados puede valer tanto 1024 como derrepente 60, 74, 55, 800, etc...
private byte[] bytesDatos = new byte[1024];
byte[] bytesReales= new byte[datosLlegados];

objSocket.BeginReceive(bytesDatos, 0, bytesDatos.Length, SocketFlags.None, new AsyncCallback(DatosRecibidos), objSocket);


//Aqui es donde resolvi el problema
Array.Copy(bytesDatos, bytesReales, datosLlegados);

Un saludo.
__________________
Charlie.
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 13:37.