Hallo liebe C# Gemeinde,
ich habe folgende Frage, ich habe eine if Bedingung.
if(Variable==4)
{
//ausführen
}
Vorgeschaltet ist eine FOR Schleife die einen Array durchgeht, immer wenn der COunt der ArrayList 4 erreicht soll etwas ausgeführt werden.
Also 4/8/12 usw.. wie bekomm ich dies hin? Hat da jemand eine Idee?
Entweder du führst einen seperaten int Counter den du jedes mal wenn die nächsten 4 mal hochgezählt wurde zurücksetzt und überprüfst den oder du schaust ob dein Count ohne Rest durch 4 teilbar ist.
[Edit]
Du möchtest z.B. bei jedem 4. Durchlauf etwas tun:
1 -nichts
2 -nichts
3 -nichts
4 -tu was
5 -nichts
6 -nichts
7 -nichts
8 -tu was
usw.. ?
Meintest du sowas?
int j = 0;
ArrayList test = new ArrayList();
test.Add("1");
test.Add("2");
test.Add("3");
test.Add("4");
for (int i = 0; i < test.Count; i++)
{
j++;
if (j == 4)
{
//tu was
j = 0;
}
}
Hi,
Die standardlösung ist:
for(int i=0;i<array.Length;i++)
{
if(i>0&&i%4==0)
{
// Code der bei jedem 4.Durchlauf ausgeführt wird.
}
}
Gruß
Juy Juka
Ja klar Modulo!
Warum kompliziert wenns auch einfach geht.
Wenn es reicht immer nur den 4. Index zu bearbeiten geht's auch folgender massen:
for(int i=0;i<=(array.Length-array.length%4);i+=4) //Inhalt der Klammer geht vielleicht noch besser
{
// Code
}
for(int i=0;i<=(array.Length-array.length%4);i+=4) //Inhalt der Klammer geht vielleicht noch besser { // Code }
Sry, aber du erhöhst i auch immer um 4, also ist der Klammerteil einfach falsch!
Es muss
i<=array.Length
heißen.
Gruß
Juy Juka
Hallo JuyJuka,
i < array.Length
🙂
herbivore
*an den Kopf hau*
Oh man! herbivore hat wie immer recht.
Noch eine Möglichkeit ohne Modulo:
for (int i=1;i<=array.Length/4;i++) {
// tu was, z. B.
Console.WriteLine(i<<2);
}