Array Handling

  • VB.NET
  • .NET (FX) 4.0

Es gibt 10 Antworten in diesem Thema. Der letzte Beitrag () ist von Drahuverar.

    Array Handling

    Hi Leute,

    und täglich grüßt das Drahutier.. :D

    Eine Frage bezüglich CharArrays;
    Ich lese mir einen Wert in die variable myGroup

    VB.NET-Quellcode

    1. Dim sValue as String = "011011044566" 'Dieser Wert ist, sagen wir mal 12 stellig
    2. Dim myGroup As Char() = sValue.ToCharArray
    3. 'Nun will ich wissen wie lang mein myGroup - array ist
    4. 'Sollte ja 11 (0 - 11 (12 elemente)) groß sein. oder?
    5. 'Anschließend würde ich gerne schauen welche Zahlenwerte meine Elemente da drinne haben..


    Ich hab es schon mit :GetUpperBound versucht, aber irgendwie (scheint so), weiß ich nicht wie ich die Geschichte handhaben soll/kann.
    Klar kann ich eine For each schleife machen

    VB.NET-Quellcode

    1. For each element as String in myGroup
    2. '...
    3. Next


    ...Bin mir aber sicher das ich hier auch anders zu einem ergebnis kommen kann, oder?
    Letztendliche muss ich jedes Element überpfüfen und muss deswegen wissen wie viele elemente ich habe ^^

    Grüße
    Option Strict On!

    Drahuverar schrieb:

    GetUpperBound
    Oder dies:

    VB.NET-Quellcode

    1. Dim sValue As String = "011011044566"
    2. MessageBox.Show(sValue.Length.ToString)

    @sonne75 war schneller. ;)
    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!
    Gerne- Ein bisschen Humor muss auch mal sein. :D
    Verdammich.. Ich hab es natürlich mit einem Datensatz versucht in dem nichts war, und dachte ich habe den richtigen (kam immer nur "0")
    Nach so 'ner kleinen Pause sieht man es mal wieder etwas anders.. ^^

    Na ja, ich habe da einen Zahlencode sozusagen, jede Zahl in dieser Kette hat eine andere Bedeutung. :)
    Also

    VB.NET-Quellcode

    1. ziffer1 = myGroup(0)
    so zusagen ^^
    Dem entsprechend versuche ich nun etwas Ordnung einzubringen. ^^

    Option Strict On!
    Meinst du das?

    VB.NET-Quellcode

    1. Dim sValue as String = "011011044566"
    2. For Each c in sValue
    3. Select Case c
    4. Case "0"
    5. 'tu was
    6. Case "1"
    7. 'tu was anderes
    8. 'usw
    9. End Select
    10. Next


    Wobei für dich bestimmt auch der Index interessant sein kann, an welcher Stelle die Zahlen stehen.

    Dann

    VB.NET-Quellcode

    1. For i=0 to sValue.Length-1
    2. Select Case sValue(i)

    Genau.. Momentan hab ich eine UNGLAUBLICH LANGE Select abfrage..
    Da verliert man gerne mal den überblick.. ^^

    Ja, mit dem Index wollte ich auch etwas machen,
    habe da allerdings so wenig mit gemacht bisher das ich es lieber "Hart kodiert" habe :(

    Was es natürlich im nachhinein viel schwieriger macht.
    Ich werde mir u.a. noch weitere Werte aus anderen Daten auslesen müssen,
    also je dynamischer es wird desto besser.
    Option Strict On!
    Ich wollte damit ausdrücken, dass du überhaupt kein CharArray brauchst, weil du den String auch so als Array behandeln kannst...

    Was willst du eigentlich? Vielleicht geht es viel einfacher. Was ist das für Zahlencode?

    Drahuverar schrieb:

    jede Zahl in dieser Kette
    Meinst Du Ziffer?
    Du musst für jede Position jeden möglichen Wert testen, das ist eine ganze Menge Holz.
    Vielleicht können da einzelne Werte zusammengefasst werden (im Sinne von Zehnerüberschreitung)?
    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!
    @sonne75
    Jede Ziffer hat einen Zahlenwert; 1. Stelle Zahl 6
    bedeutet z.B.: [1.Stelle = Achat] [Zahl 6 = Facettenschliff]
    Nun nehme ich mir die Werte aus der Datenbank und los geht's.. Weil es immer eine Ziffer ist dachte ich sei es ja besser die in CharArrays einzuteilen ^^

    @RodFromGermany
    Genau. Hätte ich eher erwähnen sollen.
    Sind immer einzelne Ziffern. ^^
    Option Strict On!