Ist das auch in VB.NET möglich?

  • VB.NET

Es gibt 5 Antworten in diesem Thema. Der letzte Beitrag () ist von thefiloe.

    Ist das auch in VB.NET möglich?

    Hallo Leute,
    in PHP ist es ja möglich Arrayitems nen beliebigen Key zu geben,
    z.B:

    PHP-Quellcode

    1. $_TEST['EINTRAG_1'] = "TEST 1";
    2. $_TEST['EINTRAG_2'] = "TEST 2";
    3. $_TEST['EINTRAG_3'] = "TEST 3";
    4. $_TEST['EINTRAG_4'] = "TEST 4";
    5. $_TEST['EINTRAG_5'] = "TEST 5";

    Ist das auch in VB.NET möglich?

    Gruß,
    Julian
    Ich habe nicht wirklich Kenntnisse in PHP aber was soll dieser Key bringen? Meinst du damit, dass du mit diesem dann auf die Items zugreifen kannst?
    Dann natürlich ja: msdn.microsoft.com/en-us/library/xfhwa508.aspx
    Die Klasse heißt Dictionary.
    Du kannst sie z.B. so deklarieren:

    VB.NET-Quellcode

    1. Dim werte As New Dictionary(Of String, Integer)

    Hier müsstest du nun als Schlüssel bzw. Key einen String angeben und als Wert einen Integer(Zahl). Das kannst du natürlich beliebig verändern indem du hinten (Of String, Integer) umänderst. Das Erste ist immer der Key und das zweite der Wert.
    Bei meinem Beispiel würde das so aussehen um ein Item hinzuzufügen:

    VB.NET-Quellcode

    1. werte.Add("meinschlüssel", 10)

    Wenn ich nun auf den Wert 10 wieder haben möchte kann ich einfach über den Index Operator diesen holen:

    VB.NET-Quellcode

    1. Dim meinWert As Integer = werte("meinschlüssel")

    Verständlicher weise muss natürlich ein passender Schlüssel vorhanden sein + ein Wert hinterlegt sein ansonsten gibts ne Exception.

    Ein komplettes Beispiel findest du wenn du bei dem Link nach ganz unten scrollst.


    Opensource Audio-Bibliothek auf github: KLICK, im Showroom oder auf NuGet.
    @thefiloe: Super das funktioniert, allerdings hab ich jetzt noch ein problem:

    VB.NET-Quellcode

    1. Dim DICT As Dictionary(Of Object, Object)


    Wert 2, kann hier auch ein Array bzw. Dictonary sein, wie kann ich überprüfen ob dies der Fall ist?
    ich möchte Rekursiv alle Daten aus dem Dictonary auslesen.

    Gruß,
    Julian
    Entweder wie schon gesagt mit TypeOf:

    VB.NET-Quellcode

    1. If TypeOf meinObject Is Array Then
    2. End If


    oder kompliziert:

    VB.NET-Quellcode

    1. Dim arr As Array = TryCast(meinObject, Array)
    2. If arr IsNot Nothing Then
    3. End If


    Opensource Audio-Bibliothek auf github: KLICK, im Showroom oder auf NuGet.