elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Trabajando con las ramas de git (tercera parte)


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  .NET (C#, VB.NET, ASP) (Moderador: kub0x)
| | | |-+  Condicionar arrays
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] 2 Ir Abajo Respuesta Imprimir
Autor Tema: Condicionar arrays  (Leído 7,820 veces)
luis456


Desconectado Desconectado

Mensajes: 551



Ver Perfil
Condicionar arrays
« en: 13 Enero 2014, 21:25 pm »

Se puede condicionar que los resultados de este array pasen de x numeros ? ya lo tengo resuelto para los texboxes pero ahora quiero trabajar directamente con los array me parece que seria mas fácil para después mostrar los resultados

Código
  1. Dim maximum As Short = 99
  2.  
  3. Dim Results7s As Integer() = Result1.Concat(Result2).Distinct.ToArray


Luis


« Última modificación: 13 Enero 2014, 21:57 pm por Eleкtro » En línea

Que tu sabiduria no sea motivo de Humillacion para los demas
Eleкtro
Ex-Staff
*
Desconectado Desconectado

Mensajes: 9.878



Ver Perfil
Re: Condicionar arrays
« Respuesta #1 en: 13 Enero 2014, 22:03 pm »

Se puede condicionar que los resultados de este array pasen de x numeros ?

¿Te refieres a descartar números que séan mayores de 99?

@Luis456, te sugiero que aprendas a usar LINQ ...será tu mejor aliado :) (por su sencillez, no por rendimiento) :

Código
  1. Dim Max As Integer = 99
  2.  
  3. Dim arr1 As Integer() = {100, 2, 3}
  4. Dim arr2 As Integer() = {4, 500, 6}
  5. Dim arr3 As Integer() = {7, 8, 999}
  6.  
  7. Dim Result As Integer() =
  8. (
  9.  From Value As Integer In (arr1.Concat(arr2).Concat(arr3))
  10.  Where Value <= Max
  11. ).ToArray
  12.  
  13. MsgBox(String.Join(", ", Result)) ' Result = {2, 3, 4, 6, 7, 8}
  14.  

PD: En otro post te dije una url donde descargar 101 ejemplos de LINQ, si te lo estudiases un poco tendrías ejemplos como los que yo te pongo para un buen rato xD.

Saludos


« Última modificación: 13 Enero 2014, 22:17 pm por Eleкtro » En línea



luis456


Desconectado Desconectado

Mensajes: 551



Ver Perfil
Re: Condicionar arrays
« Respuesta #2 en: 13 Enero 2014, 22:11 pm »

¿Te refieres a descartar números que séan mayores de 99?

@Luis456, te sugiero que aprendas a usar LINQ ...será tu mejor aliado (por su sencillez, no por rendimiento) :):

Código
  1. Dim Max As Integer = 99
  2.  
  3. Dim arr1 As Integer() = {100, 2, 3}
  4. Dim arr2 As Integer() = {4, 500, 6}
  5. Dim arr3 As Integer() = {7, 8, 999}
  6.  
  7. Dim Result As Integer() =
  8. (From Value In (arr1.Concat(arr2).Concat(arr3)) Where Value <= Max).ToArray
  9.  
  10. MsgBox(String.Join(", ", Result)) ' Result = {2, 3, 4, 6, 7, 8}
  11.  

Saludos





Si elektro y te agradezco la ayuda ya me llamo la atencion LINQ Y me estoy bajando todo cuanto pueda

Luis

Posdata: si me baje todo lo que me pusiste :)

« Última modificación: 13 Enero 2014, 22:15 pm por luis456 » En línea

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


Desconectado Desconectado

Mensajes: 551



Ver Perfil
Re: Condicionar arrays
« Respuesta #3 en: 13 Enero 2014, 22:20 pm »

Me imagino que para poder usarlo deberia de crear otro array para poder usar estas dos funciones ?


Código:
 Dim Resu As Integer() = Result1.Concat(Result2).Concat(Result3).Distinct.ToArray
        (From Value In (Result1.Concat(Result2).Concat(Result3)) Where Value <= Max).ToArray

luis
En línea

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


Desconectado Desconectado

Mensajes: 551



Ver Perfil
Re: Condicionar arrays
« Respuesta #4 en: 14 Enero 2014, 12:42 pm »

Bueno explico un poco mejor :)

como hago para unir estas dos funciones en una sola variable o array he probado y probado y no logro hacerlo, ya que me da el tipico error de que ya esta declarada
el array " Results7s "


Código:
Dim Results7s As Integer() = Result1.Concat(Result2).Concat(Result3).Distinct.ToArray <---esto lo muestro en un lisbotx



Dim Result As Integer() =(From Value In (result1.Concat(result2).Concat(result3)) Where Value <= Max).ToArray


Luis
En línea

Que tu sabiduria no sea motivo de Humillacion para los demas
Eleкtro
Ex-Staff
*
Desconectado Desconectado

Mensajes: 9.878



Ver Perfil
Re: Condicionar arrays
« Respuesta #5 en: 14 Enero 2014, 13:07 pm »

me da el tipico error de que ya esta declarada el array " Results7s "

Hombre, error típico no es, lo que pasa es que tienes la mala costumbre de declarar variables innecesarias por todas partes del código, y al final tienes un lio.

En lugar de declarar varios arrays:

Código
  1. Dim result1 as Integer()  = {1, 2, 3}
  2. Dim result2 as Integer()  = {4, 5, 6}
  3. Dim result2 as Integer() = {7, 8, 9}

Intenta declarar sólamente 1 array, y reemplazarlo/actualízarlo cuando sea necesario:

Código
  1. Public Result as Integer() = {1, 2, 3}

...En otra parte del código:
Código
  1. Me.Result = Me.Result.Concat({4, 5, 6}).Concat({7, 8, 9}).ToArray ' Por ejemplo.

De todas formas si prefieres seguir como hasta ahora, pues declara una nueva variable con otro nombre distinto y así no tendrás ese "típico error", de verdad no te lo tomes a mal pero no le veo ningún sentido a la duda que has posteado.

Saludos!
« Última modificación: 14 Enero 2014, 13:11 pm por Eleкtro » En línea



luis456


Desconectado Desconectado

Mensajes: 551



Ver Perfil
Re: Condicionar arrays
« Respuesta #6 en: 14 Enero 2014, 13:24 pm »

Bueno como pasa en programacion jejej el que entiende su chapuza no se sabe explicar :)

tengo tres arrays con resultados independientes de la suma pero cuando quiero unirlos en el lisbot

primero repetían ya lo solucione con :

Código:
Dim Results7s As Integer() = Result1.Concat(Result2).Concat(Result3).Distinct.ToArray

ahora quiero que estos resultados ya filtrados en resut7 pasen por otro filtro que seria el del rango 99

Código:
Where Value <= Max).ToArray


Luis






En línea

Que tu sabiduria no sea motivo de Humillacion para los demas
Eleкtro
Ex-Staff
*
Desconectado Desconectado

Mensajes: 9.878



Ver Perfil
Re: Condicionar arrays
« Respuesta #7 en: 14 Enero 2014, 13:42 pm »

quiero que estos resultados ya filtrados en resut7 pasen por otro filtro que seria el del rango 99

Código:
Where Value <= Max).ToArray

No me ha quedado claro el poblema, en la variable resut7 declaras el array numérico, y en la otra variable (Result) ya "filtras" con LINQ, ¿Cual es el problema?.

PD: Lo importante si que lo entendí, no es necesario 4 o 5 variables para llevar a cabo una operación de ese tipo, símplemente odio ver ese tipo de cosas.

Saludos!
En línea



luis456


Desconectado Desconectado

Mensajes: 551



Ver Perfil
Re: Condicionar arrays
« Respuesta #8 en: 14 Enero 2014, 14:06 pm »

No me ha quedado claro el poblema, en la variable resut7 declaras el array numérico, y en la otra variable (Result) ya "filtras" con LINQ, ¿Cual es el problema?.

PD: Lo importante si que lo entendí, no es necesario 4 o 5 variables para llevar a cabo una operación de ese tipo, símplemente odio ver ese tipo de cosas.

Saludos!

El problema es que no logro mostar en el lisbotbox los resultados de las dos funciones juntas  osea la " Distinct y la del rango "

luis


 
En línea

Que tu sabiduria no sea motivo de Humillacion para los demas
Eleкtro
Ex-Staff
*
Desconectado Desconectado

Mensajes: 9.878



Ver Perfil
Re: Condicionar arrays
« Respuesta #9 en: 14 Enero 2014, 14:43 pm »

Creo que esto es lo que intentas hacer...

Código
  1.    ReadOnly MAX As Integer = 99
  2.  
  3.    Public Sub Test() Handles MyBase.Shown
  4.  
  5.        Dim result1 As Integer() = {1, 100, 2, 3, 4}
  6.        Dim result2 As Integer() = {5, 500, 6, 6, 4}
  7.        Dim result3 As Integer() = {7, 8, 9, 10, 99}
  8.  
  9.        ' Elimino duplicados al mismo tiempo que selecciono los números inferiores a MAX.
  10.        Dim Result As IEnumerable(Of Integer) =
  11.            (
  12.                From Value As Integer
  13.                In (result1.Concat(result2).Concat(result3)).Distinct
  14.                Where Value <= MAX
  15.            )
  16.  
  17.        ListBox1.Items.AddRange(Result.Cast(Of Object).ToArray)
  18.  
  19.    End Sub

Saludos
« Última modificación: 14 Enero 2014, 14:47 pm por Eleкtro » En línea



Páginas: [1] 2 Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Lio con Arrays
Programación Visual Basic
X-TN 2 1,611 Último mensaje 28 Junio 2006, 20:03 pm
por X-TN
condicionar una consulta
Bases de Datos
RedZer 1 3,210 Último mensaje 9 Enero 2011, 00:30 am
por RedZer
Duda con arrays dentro de arrays « 1 2 »
PHP
Servia 11 7,214 Último mensaje 10 Marzo 2011, 09:04 am
por Servia
Condicionar contenido de pdf
PHP
Ethgar 3 1,979 Último mensaje 18 Septiembre 2014, 20:50 pm
por Ethgar
Condicionar Textbox a un rango determinado ??
.NET (C#, VB.NET, ASP)
luis456 7 8,408 Último mensaje 9 Noviembre 2021, 22:11 pm
por Serapis
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines