none
Wie Zugriff auf drittes Objekt in der Liste? RRS feed

  • Frage

  • Hallo,
    ich habe eine Liste vom Typ Linie.
    Dim lines As List(Of Line)

    Jetzt suche ich nach einer schnellen Lösung, um die zweite, danach die erste, dann die fünfte .... Linie aus der Liste auszugeben.

    Dim lineA As line = lines.????      ' zweite Linie (zweites Objekt in der Liste)
    Dim lineB as line = lines.????      ' fünfte Linie

    Mit For Each die Liste jedesmal zu durchlaufen ist sicherlich möglich, aber nicht effektiv.

     

    Alexander

    Montag, 23. Mai 2011 17:03

Antworten

  • Hallo Alexander,

      Dim lineA As Line = Lines( 1 )
      Dim lineB As Line = Lines( 4 )

    Der Index beginnt bei 0, daher ist das zweite Element über den Index 1, das fünfte Element über den Index 4 anzusprechen.

    Siehe dazu auch:

      http://msdn.microsoft.com/de-de/library/6sh2ey19.aspx

     


    Gruß, Stefan
    Microsoft MVP - Visual Developer ASP/ASP.NET
    http://www.asp-solutions.de/ - Consulting, Development
    http://www.aspnetzone.de/ - ASP.NET Zone, die ASP.NET Community

    Montag, 23. Mai 2011 17:32
    Moderator
  • Hallo Alexander,

    ergänzend zu Stefans Antwort:
    Du kannst das kombinieren und eine List(Of Integer) oder ein Integer Array mit For Each durchlaufen:

        Dim lines As New List(Of Line)
        
        Dim indizes As Integer() = {1, 0, 4}
        ' oder
        Dim indizes As New List(Of Integer) From {1, 0, 4}
    
        For Each index In indizes
          Dim line = lines(index)
          ' oder etwas wie
          DrawLine(lines(index)
        Next
    
    Gruß Elmar

    • Als Antwort markiert AlexanderRi Montag, 23. Mai 2011 19:17
    Montag, 23. Mai 2011 18:58
    Beantworter

Alle Antworten

  • Hallo Alexander,

      Dim lineA As Line = Lines( 1 )
      Dim lineB As Line = Lines( 4 )

    Der Index beginnt bei 0, daher ist das zweite Element über den Index 1, das fünfte Element über den Index 4 anzusprechen.

    Siehe dazu auch:

      http://msdn.microsoft.com/de-de/library/6sh2ey19.aspx

     


    Gruß, Stefan
    Microsoft MVP - Visual Developer ASP/ASP.NET
    http://www.asp-solutions.de/ - Consulting, Development
    http://www.aspnetzone.de/ - ASP.NET Zone, die ASP.NET Community

    Montag, 23. Mai 2011 17:32
    Moderator
  • Hallo Alexander,

    ergänzend zu Stefans Antwort:
    Du kannst das kombinieren und eine List(Of Integer) oder ein Integer Array mit For Each durchlaufen:

        Dim lines As New List(Of Line)
        
        Dim indizes As Integer() = {1, 0, 4}
        ' oder
        Dim indizes As New List(Of Integer) From {1, 0, 4}
    
        For Each index In indizes
          Dim line = lines(index)
          ' oder etwas wie
          DrawLine(lines(index)
        Next
    
    Gruß Elmar

    • Als Antwort markiert AlexanderRi Montag, 23. Mai 2011 19:17
    Montag, 23. Mai 2011 18:58
    Beantworter