Dictionary(Of String, String) Item über Index bekommen

  • VB.NET

Es gibt 3 Antworten in diesem Thema. Der letzte Beitrag () ist von RodFromGermany.

    Dictionary(Of String, String) Item über Index bekommen

    Moin,

    ich stehe vor einem Problem und weiß nicht ob es lösbar ist. Ich habe ein Dictionary(Of String, String), nun möchte ich ein Element jedoch nich über den Key String ansprechen, sondern über den Index. Leider habe ich keine Ahnung wie ich daran komme, probiert habe ich schon über die Keys-Eigenschaft dran zu kommen, leider ohne Erfolg.
    Hättest Du eigentlich finden müssen:

    VB.NET-Quellcode

    1. Dim dd As New Dictionary(Of String, String)
    2. dd.Add("aa", "aaa")
    3. dd.Add("bb", "bbb")
    4. dd.Add("cc", "ccc")
    5. dd.Add("dd", "ddd")
    6. Dim kk As System.Collections.Generic.Dictionary(Of String, String).KeyCollection = dd.Keys
    7. Dim txt As String = kk(2)
    Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
    Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch :!:
    Ein guter .NET-Snippetkonverter (der ist verfügbar).
    Programmierfragen über PN / Konversation werden ignoriert!
    Das habe ich, nur habe ich keine extra Variable dafür genommen, sondern es so versucht

    VB.NET-Quellcode

    1. dd.Keys(2)


    Das System wäre prinzipiell doch das selbe oder nicht? Leider kommt dabei bereits in er IDE ein Fehler.
    Eigentlich kann man doch auf ein Array o.ä. direkt zugreifen, wie bei Split z.B. auch

    VB.NET-Quellcode

    1. Dim s As String = Split(",", "bla,blubb,foo")(1)
    Das kann natürlich an VS2008 liegen. Ich hab 2010 und

    VB.NET-Quellcode

    1. Dim txt2 As String = dd.Keys(2)
    funktioniert. :S
    Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
    Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch :!:
    Ein guter .NET-Snippetkonverter (der ist verfügbar).
    Programmierfragen über PN / Konversation werden ignoriert!