Lokale Integer Variable in einer Sub wiederaufgreifen

  • C#
  • .NET (FX) 4.5–4.8

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

    Lokale Integer Variable in einer Sub wiederaufgreifen

    Moin,

    ich möchte den Wert einer lokalen Variable bei jeden Button.Click erhöhen. Der letzt benuetzte Wert soll dabei gespeichert werden.
    Bei VB hätte ich einfach static davor geschrieben, jedoch funktioniert das nicht bei C#, denn es wird nach einer Zuweisung verlangt.

    Habe die Variable auch global deklariert und zugewiesen und dann funktioniert es auch, jedoch wäre es wünschenswert, wenn Sie lokal bleibt.

    WIe könnte man das am Besten umsetzen? danke

    VB.NET-Quellcode

    1. private void button2_Click(object sender, EventArgs e)
    2. {
    3. int zähler;
    4. textBox3.Text = _ersteliste._vokabelliste[zähler];
    5. zähler += 1;
    6. }
    @Visual_Prog Klingt blöd, is aber so.
    Du musst die Variable aus der Prozedur in die Klasse verschieben.
    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!
    @petaod Jou.
    @Visual_Prog Mach mal ein kleines VB-Projekt, zieh Dir die Exe in den IlSpy und sieh Dir mal an, was dabei raus kommt.
    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!
    Aber selbst in VB würde ich das nicht mit Static machen, sondern wohl in einer kleinen Abfrageform mit klassenweiter Zählvariable. Bei mir kommen dann oft noch Zusatzbuttons hinzu, die eine lokal-statische Variable unnütz machen:
    • gib mir das vorhergehende Element der Liste
    • gib mir ein Zufallselement der Liste
    Außerdem würde ich wohl mit DataBinding und somit einer BindingSource arbeiten. Dann ginge das Vor (und Zurück) nämlich mit BindingSource.MoveNext und BindingSource.MovePrevious. Und der Zufall mit Setzen der BS-Position. Dann kann man sich die Zählvariable komplett schenken und DataBinding ist ja eh was Schönes :P
    Dieser Beitrag wurde bereits 5 mal editiert, zuletzt von „VaporiZed“, mal wieder aus Grammatikgründen.

    Aufgrund spontaner Selbsteintrübung sind all meine Glaskugeln beim Hersteller. Lasst mich daher bitte nicht den Spekulatiusbackmodus wechseln.