Unir dos arrays en un tercero

Iniciado por luis456, 13 Enero 2014, 17:09 PM

0 Miembros y 2 Visitantes están viendo este tema.

luis456

Bueno eso mismo

tengo dos Arrays  " result1 y result2 " quiero unir estos dos array en un tercer array

"result3 " ya probé concatenando pero me pierdo jejej


Luis
Que tu sabiduria no sea motivo de Humillacion para los demas

0x98364

Crea un tercer array cuya longitud sea la suma de result1 y result2

Luego con un bucle for hasta result1.length vas metiendo los datos de result1 en result3, y otro bucle for que empiece desde la ultima posicion de result1.length hasta result2.length para meter los datos de result2
while(!noHacking)
      KeepCalmAndHackThePlanet.start();

Eleкtro

#2
Puedes usar LINQ:

Código (vbnet) [Seleccionar]
       Dim arr1 As Integer() = {1, 2, 3}
       Dim arr2 As Integer() = {4, 5, 6}
       Dim arr3 As Integer() = {7, 8, 9}

       Dim Result As Integer() =
           arr1.
           Concat(arr2).
           Concat(arr3).
           ToArray

       MsgBox(String.Join(", ", Result)) ' Result = {1, 2, 3, 4, 5, 6, 7, 8, 9}


¿Cual es el problema que tienes al concatenarlos?

Si tienes un Array puedes convertirlo/castearlo a un Enumerable para manejar LINQ.

Código (vbnet) [Seleccionar]

       Dim arr1 As Array = {1, 2, 3}
       Dim arr2 As Array = {4, 5, 6}
       Dim arr3 As Array = {7, 8, 9}

       Dim Result As Integer() =
           arr1.Cast(Of Integer).
           Concat(arr2.Cast(Of Integer)).
           Concat(arr3.Cast(Of Integer)).
           ToArray

       MsgBox(String.Join(", ", Result)) ' Result = {1, 2, 3, 4, 5, 6, 7, 8, 9}


Saludos!








luis456

Bueno estaba haciendo esta chapuza ( Bisual +net o lo que sea jejej) pero pensaba que habria algo mas directo,la idea es que los resulatdos de result1 y result2 unirlos para eliminar repetidos

dim result3 as Integer


For Each result1 As String In result3
   
Next

For Each result2 As String In result3

Next


Luis
Que tu sabiduria no sea motivo de Humillacion para los demas

Eleкtro

Cita de: luis456 en 13 Enero 2014, 18:18 PMla idea es que los resulatdos de result1 y result2 unirlos para eliminar repetidos

( Siguiendo el código de arriba ) ~> Enumerable.Distinct (Método)

Código (vbnet) [Seleccionar]
Dim Result As Integer() = arr1.Concat(arr2).Concat(arr3).Distinct.ToArray

Saludos








luis456

Cita de: Eleкtro en 13 Enero 2014, 18:27 PM
( Siguiendo el código de arriba ) ~> Enumerable.Distinct (Método)

Código (vbnet) [Seleccionar]
Dim Result As Integer() = arr1.Concat(arr2).Concat(arr3).Distinct.ToArray

Saludos


Perfecto funciona  :)

Gracias a todos


Luis


Que tu sabiduria no sea motivo de Humillacion para los demas