Autor Beitrag
Zottel von Urvieh
Ehemaliges Mitglied
Erhaltene Danke: 1



BeitragVerfasst: Sa 29.05.10 22:45 
Ich weiß nicht, ob ich hier in der richtigen Sparte gelandet bin, wenn nicht, sorry.
Bin sozusagen C# Neuling und habe folgenden Code:

Code:
ausblenden C#-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
        private void button1_Click(object sender, EventArgs e)
        {
            
            if (Globals.Betören == 0 && Globals.rap >= Globals.b1auf)
            {
                Globals.rap = Globals.rap - Globals.b1auf;
                Globals.Betören = Globals.Betören + 1;
                Globals.ausap = Globals.ausap + Globals.b1auf;
            }
            else if (Globals.Betören == 1 && Globals.rap >= Globals.b2auf)
            {
                Globals.rap = Globals.rap - Globals.b2auf;
                Globals.Betören = Globals.Betören + 1;
                Globals.ausap = Globals.ausap + Globals.b2auf;
            }
            else if (Globals.Betören == 2 && Globals.rap >= Globals.b3auf)
            {
                Globals.rap = Globals.rap - Globals.b3auf;
                Globals.Betören = Globals.Betören + 1;
                Globals.ausap = Globals.ausap + Globals.b3auf;
            }
            else if (Globals.Betören == 3 && Globals.rap >= Globals.b4auf)
            {
                Globals.rap = Globals.rap - Globals.b4auf;
                Globals.Betören = Globals.Betören + 1;
                Globals.ausap = Globals.ausap + Globals.b4auf;
            }
            //    ... so geht das noch ungefähr bis Globals.Betören == 20 weiter...
        }


so nun ist dies allein schon ziemlich unprofessionell, da sehr lang und unübersichtlich.
hinzu kommt, dass ich noch eine Textbox haben will in der a b c d e oder f steht, sodass
sämtliche Globals.b"Zahl"auf zu Globals.a"Zahl"auf, Globals.c"Zahl"auf (...) werden.
Dies in leicht abgeänderter Form muss ich zusätzlich noch auf andere Buttons legen und dann
wäre das erst richtig hässlich.

Zu meiner Frage:
kann ich das nicht irgendwie mit einer Schleife machen oder zumindest mit Platzhaltern in den
Globals Variablen alias:
Globals.rap = Globals.rap - Globals."Convert.ToString(textboxABCDE.Text)" + "Zahl" * auf; // Zahl soll natürlich auch irgendwo her bezogen werden
Ich hoffe irgendjemand hat verstanden, was ich versuche zu Fragen und kann mir helfen...
Kha
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 3803
Erhaltene Danke: 176

Arch Linux
Python, C, C++ (vim)
BeitragVerfasst: So 30.05.10 01:15 
:welcome:

Eine Menge von Variablen, auf die man "dynamisch" zugreifen will, lässt sich immer durch ein Array oder Dictionary ersetzen. Vielleicht hilft dir schon dieser Thread, in dem es um das gleiche Thema ging.

_________________
>λ=
Oppi35
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 95
Erhaltene Danke: 3



BeitragVerfasst: So 30.05.10 08:58 
Hi,

hier mal ein kleiner Vorschlag. Bei Unklarheiten meld Dich bitte nochmal:

ausblenden volle Höhe C#-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
36:
37:
38:
39:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace ConsoleApplication1
{
    class Program
    {
        static void Main(string[] args)
        {
            Globals glob = new Globals();

            glob.rap = 3;
            glob.ausap = 1;
            glob.Betören = 0;
            glob.bauf.Add(2);
            glob.bauf.Add(6);
            glob.bauf.Add(3);

            foreach (int i in glob.bauf)
            {
                if (glob.Betören == 0 && glob.rap >= i)
                {
                    Console.WriteLine(i);            
                }
            }
          
        }
    }
    class Globals
    {
        public List<int> bauf= new List<int>();
        public int rap;
        public int Betören;
        public int ausap;

    }
}


Moderiert von user profile iconKha: C#-Tags hinzugefügt