C# Varibablen in einem Array?

Deathcore

Lieutenant
Registriert
Apr. 2009
Beiträge
712
Hallo liebe CBler

Ich habe folgendes Problem. Ich habe mehrere Varibablen hinter denen sich die Adressen von LED die ich steuere verbergen.


Code:
// Über diese Varibalen die LEDs ansprechen
        public const int LED_0 = CH_FIO0;       // LED 1
        public const int LED_1 = CH_FIO1;       // LED 2
        public const int LED_2 = CH_FIO2;       // LED 3
.....

Nun habe ich mir eine Funktion geschrieben mit der ich alle LED ausschalten möchte. Dazu rufe ich setIO("int","int") auf. setIO wird LED_0 übergeben etc. Aber ich möchte das ganze in einer einfachen for schleifen umsetzten leider finde ich keinen richtigen Ansatz( Array? Pointer?)

Sprich gibt es eine Möglichkeit LED_x hochzuzählen und diese dann als Varibable zuübergeben?

Code:
  // Alle LEDS ausschalten
        public void allOFF(int ledNum, TLedState ledstate)
        {
            int level = LED_OFF; ; // AUS
                setIO(LED_0, level);
                ....
            setIO(LED_5, level);

Hoffe meine Schilderung ist ausreichend wenn nicht bitte sagen.
 
Hi,

hilft dir da nicht eine einfache foreach? Also alle LED in eine Liste packen und dann

foreach (int led in ListLED)
{
setIO(led, level);
}

VG,
Mad


Edit: Was ich mich gerade Frage: Die LED haben als Datentyp "integer", du weist denen aber z.B. "CH_FIO0". Das klappt so?
 
Zuletzt bearbeitet:
warum definierst du nicht ein array. const geht zwar bei array nicht aber macht nix solange es dein problem löst:

sowas hier ...

int[] bla = new[] {CHFI_O0, CHFI_O1 ...};
 
Hi,
das was du vor hast, lässt sich super mit einem ENUM lösen:

Code:
public enum myEnum
{
   Item1,
   Item2,
   Item3
}

foreach (myEnum item in Enum.GetValues(typeof(myEnum)))
{
   setIO(item, level);
}

Du kannst den einzelnen Enums auch Werte zuweisen:
Code:
public enum myEnum
{
   Item1=1,
   Item2=2,
   Item3=3
}
Diese müssen "Unique" sein.

Gruß
 
Hollowman1985 schrieb:
warum definierst du nicht ein array. const geht zwar bei array nicht aber macht nix solange es dein problem löst:

sowas hier ...

int[] bla = new[] {CHFI_O0, CHFI_O1 ...};

Danke hat mein problem gelöst habe das ganze gestern ohne new versucht. :(


danke und close (ging ja schnell)
 
Zurück
Oben