Foro de elhacker.net

Programación => .NET (C#, VB.NET, ASP) => Mensaje iniciado por: luis456 en 9 Febrero 2015, 10:49 am



Título: Nesecito eliminar registros negativos y cero
Publicado por: luis456 en 9 Febrero 2015, 10:49 am
Otro de mis ligeros problemas tengo este codigo que me muestra :  


-2
-1
0
2
3
4
1
5
6

nesecito eliminar esto de los resultados, que no muestre o mejor elimine los numeros que tengan el signo negativo y el cero
-2
-1
 0


Código
  1. Dim Resultodo1 As IEnumerable(Of Integer) =
  2.            (
  3.                From Value As Integer
  4.                  In (Result1.Concat(Result2)).Distinct Where (Value <= MAX))
  5.  
  6.  
  7.        ListBox1.Items.AddRange(Resultodo1.Cast(Of Object).ToArray)


Luis


Título: Re: Nesecito eliminar registros negativos y cero
Publicado por: luis456 en 9 Febrero 2015, 15:08 pm
M recorde de un codigo que me dio Elektro


Código
  1. 'For Index As Integer = 0 To (Result1.Count - 1)
  2.  
  3.            Select Case Result1(Index)
  4.  
  5.                Case Is = 0 ' El valor es 0.
  6.                    ' Hacer algo con el número 0 aquí.
  7.                    ' Result1(Index) = Not 0
  8.  
  9.                Case Is < 0 ' El valor es negativo.
  10.                    ' Lo convierto a positivo.
  11.                    Result1(Index) = Math.Abs(Result1(Index))
  12.  
  13.            End Select '/ Result1(Index)  



Funciona con los negativos pero no me elimina el 0

luis


Título: Re: Nesecito eliminar registros negativos y cero
Publicado por: Usuario Invitado en 9 Febrero 2015, 15:35 pm
  • Recorrer lista o arreglo con un for.
  • Dentro del for evaluar si el número actual es neutro o negativo.
  • Si lo es, eliminar de la lista.

    Si usas arrays es posible que no puedas eliminar una posición (realmente desconozco esto en VB.NET) como en otros lenguajes; si es así, puedes trabajar con un tipo de dato que te permita coleccionar objetos y eliminarlos también (se redimensiona automáticamente) como Listas.

    Salu2.


Título: Re: Nesecito eliminar registros negativos y cero
Publicado por: nevachana en 9 Febrero 2015, 20:07 pm
Ahora mismo no me acuerno de nada de vb pero en c# yo lo haría asi ^^
foreach(string line in list)
{
if(int.parse(line)<=0)
{
list.remove(line);
}
}
No sé si está bien pero la idea es más o menos esa ^^


Título: Re: Nesecito eliminar registros negativos y cero
Publicado por: OscarCadenas_91 en 10 Febrero 2015, 02:15 am
hola, y si lo haces esta forma:

Código
  1. Dim List As New List(Of String)
  2.           For Each numeros As ListViewItem In ListView1.Items
  3.            If CDbl(numeros.Text) > 0 Then
  4.                List.Add(numeros.Text)
  5.            End If
  6.          Next
  7.        ListView1.Items.Clear()
  8.        For Each Data As String In List
  9.            ListView1.Items.Add(Data)
  10.        Next
  11.  




Título: Re: Nesecito eliminar registros negativos y cero
Publicado por: Eleкtro en 11 Febrero 2015, 13:43 pm
Joder Luis... ¿no se te ha ocurrido añadir una condición más a la query de LINQ?:
Código:
...Where (Value <= max AndAlso Value > 0)

Código
  1. Dim values1 As IEnumerable(Of Integer) = {-2, -1, 0, 1, 2}
  2. Dim values2 As IEnumerable(Of Integer) = {-20, -10, 0, 10, 20}
  3. Dim max As Integer = 10
  4.  
  5. Dim result As IEnumerable(Of Integer) =
  6.    (From Value As Integer In (values1.Concat(values2)).Distinct
  7.     Where (Value <= max AndAlso Value > 0))
  8.  
  9. ListBox1.Items.AddRange(result.Cast(Of Object).ToArray)

PD ¿porque no aprendes en serio despues de tanto tiempo manejando VB.Net?, al menos lo básico ...como esto, saldrías de muchos apuros por ti mismo y eso te ayudaría a avanzar más rápido...

Saludos!


Título: Re: Nesecito eliminar registros negativos y cero
Publicado por: luis456 en 14 Febrero 2015, 11:39 am
Joder Luis... ¿no se te ha ocurrido añadir una condición más a la query de LINQ?:
Código:
...Where (Value <= max AndAlso Value > 0)

Código
  1. Dim values1 As IEnumerable(Of Integer) = {-2, -1, 0, 1, 2}
  2. Dim values2 As IEnumerable(Of Integer) = {-20, -10, 0, 10, 20}
  3. Dim max As Integer = 10
  4.  
  5. Dim result As IEnumerable(Of Integer) =
  6.    (From Value As Integer In (values1.Concat(values2)).Distinct
  7.     Where (Value <= max AndAlso Value > 0))
  8.  
  9. ListBox1.Items.AddRange(result.Cast(Of Object).ToArray)

PD ¿porque no aprendes en serio despues de tanto tiempo manejando VB.Net?, al menos lo básico ...como esto, saldrías de muchos apuros por ti mismo y eso te ayudaría a avanzar más rápido...

Saludos!

Gracias Elektro
recien lo pruebo. ya que estuve indispuesto por catarro y si me vale y  cada dia aprendo un poco pero poco eee,


Luis