none
¿Cómo borro elementos de esta lista? RRS feed

  • Pregunta

  • Suponiendo que quiero borrar el articulo cuyo nombre es "Primer articulo".

    Friend Class Articulo
      Friend Property Nombre As String   
      Friend Property Color As String  
    End Class
    
    Private Lista As List(Of Articulo)
    
    Private Articulo As Articulo
    
    With Articulo
       .Nombre = "Primer articulo"
       .Color = "Azul"
    End With
    
    Lista.Add(Articulo)
    
    With Articulo
       .Nombre = "Segundo articulo"
       .Color = "Rojo"
    End With
    
    Lista.Add(Articulo)
    

    domingo, 13 de septiembre de 2020 23:44

Respuestas

  • Ese código no está bien. El objeto no puede tener el mismo nombre que la clase y hay que crearlo con New.
    Para borrar el elemento que cumpla una condición puedes usar una expresión lambda:

     Lista.RemoveAll(Function(x) x.Nombre = "Primer artículo")

    El código quedaría así:

    Private Lista As New List(Of Articulo)
    Private Art As Articulo

    Art = New Articulo

    With Art
        .Nombre = "Primer artículo"
        .Color = "Azul"
    End With

    Lista.Add(Art)

    Art = New Articulo

    With Art
        .Nombre = "Segundo artículo"
        .Color = "Rojo"
    End With

    Lista.Add(Art)

    Lista.RemoveAll(Function(x) x.Nombre = "Primer artículo")

    Saludos, Javier J

    lunes, 14 de septiembre de 2020 6:31

Todas las respuestas

  • Hola

    Lista.Remove(Articulo);

    lunes, 14 de septiembre de 2020 4:12
  • Hola

    Lista.Remove(Articulo);

    Gracias, pero lo que deseo es borrar el artículo que tenga por nombre: "Primer articulo". ¿Cómo lo especificaría?

    lunes, 14 de septiembre de 2020 4:42
  • Ese código no está bien. El objeto no puede tener el mismo nombre que la clase y hay que crearlo con New.
    Para borrar el elemento que cumpla una condición puedes usar una expresión lambda:

     Lista.RemoveAll(Function(x) x.Nombre = "Primer artículo")

    El código quedaría así:

    Private Lista As New List(Of Articulo)
    Private Art As Articulo

    Art = New Articulo

    With Art
        .Nombre = "Primer artículo"
        .Color = "Azul"
    End With

    Lista.Add(Art)

    Art = New Articulo

    With Art
        .Nombre = "Segundo artículo"
        .Color = "Rojo"
    End With

    Lista.Add(Art)

    Lista.RemoveAll(Function(x) x.Nombre = "Primer artículo")

    Saludos, Javier J

    lunes, 14 de septiembre de 2020 6:31
  • Hola James2016-2,

    ¿Alguna novedad sobre tu pregunta? ¿Han sido útiles las respuestas proporcionadas? Por favor no olvides marcar una respuesta si resolviste tu consulta.

     

    Saludos cordiales

    Gabriel Castro

     ____________________________ 

    Por favor recuerde "Marcar como respuesta" las respuestas que hayan resuelto su problema, es una forma común de reconocer a aquellos que han ayudado, y hace que sea más fácil para los otros visitantes encontrar la solución más tarde. 


    lunes, 14 de septiembre de 2020 13:43
    Moderador