none
¿Cómo obtener el índice del elemento encontrado en una lista? RRS feed

Respuestas

  • Puedes utilizar la función Trim() para quitar los caracteres de espacio en blanco al inicio y final de cada línea:

    lisCodigos = File.ReadAllLines(ArchivoSalida, Encoding.Default).
                Where(Function(l) l.Trim <> String.Empty).Select(Function(l) l.Trim()).ToList()


    Espero que la información proporcionada te haya sido de utilidad, quedo atento a tus comentarios.
    • Marcado como respuesta James2016-2 miércoles, 19 de julio de 2017 5:15
    miércoles, 19 de julio de 2017 5:09

Todas las respuestas

  • Puedes usar el método IndexOf().

    Creo que esta pregunta tiene relación con la pregunta anterior, vamos con foreach:

    For Each item As String In lisElementos
    	Me.Controls($"eti{lisElementos.IndexOf(item) + 1}").Text = item
    Next


    Espero que la información proporcionada te haya sido de utilidad, quedo atento a tus comentarios.
    miércoles, 19 de julio de 2017 4:39
  • Gracias, sí tiene relación con lo anterior. Tengo un problemilla con el código que me diste anteriormente:

    El código es correcto, funciona, pero al momento de hacer la comparación resulta que las líneas tienen espacios en blanco al final y la cadena con la que la comparo no tiene, cómo podría quitarle los espacios a cada línea antes de agregarla a la lista?

    Me refiero a este código:

    lisCodigos = File.ReadAllLines(ArchivoSalida, Encoding.Default).Where(Function(l) l <> String.Empty).ToList()

    Digamos que quiero saber si cCodigo está contenido en la lista anterior, entonces aunque cCodigo está en lisCodigos, esta línea no funciona:

    MsgBox(lisCodigos.IndexOf(cCodigo)) (me retorna -1, no lo encuentra)

    ...y no funciona porque las lineas agregadas a lisCodigos tienen al final espacios en blanco ¿es posible modificar la línea que está en negrita para que agregue las mismas líneas pero sin los espacios en blanco al final o necesariamente habría que hacerlo aparte? en todo caso ¿cómo sería ese código?


    • Editado James2016-2 miércoles, 19 de julio de 2017 5:00
    miércoles, 19 de julio de 2017 4:59
  • Puedes utilizar la función Trim() para quitar los caracteres de espacio en blanco al inicio y final de cada línea:

    lisCodigos = File.ReadAllLines(ArchivoSalida, Encoding.Default).
                Where(Function(l) l.Trim <> String.Empty).Select(Function(l) l.Trim()).ToList()


    Espero que la información proporcionada te haya sido de utilidad, quedo atento a tus comentarios.
    • Marcado como respuesta James2016-2 miércoles, 19 de julio de 2017 5:15
    miércoles, 19 de julio de 2017 5:09
  • Gracias, con tu invaluable ayuda ya me quedó esa parte.
    miércoles, 19 de julio de 2017 5:15