Mennyire "clean", ha a for ciklus feltételénél nem a ciklusváltozót, hanem egy másik változót vizsgálok (elsősorban C#, de bármilyen nyelven érdekel)?
Kell nekem egy ciklus, mindegy milyen, akár do-while is jó :D. Egy változó, aminek mindenképp csökkentem az értékét (ideiglenes tömböket vizsgálok hátulról előre) és egy, aminek akkor növelem, ha az ideiglenes tömb adott indexen levő eleme érvényes érték volt és hozzáadtam a másik gyűjteményhez. Viszont ez utóbbi változó értéke kell, hogy meghatározza, meddig fut a ciklus.
Szóval előre nem tudom, hányszor fog lefutni, de:
- két változót is használok voltaképp "számlálóként",
- az egyiknek el kell érnie az adott értéket, addig fut a ciklus.
For-ciklussal oldottam meg, eléggé alternatív módon:
int k = 1;
for (int j = temp.Length - 1; k <= WhichLott; j--)
{
if (temp[j] != "")
{
lotNums.Add(int.Parse(temp[j]));
k++;
}
}
A j-nek itt csak annyi az értelme, hogy léptet, de legalább a ciklusfejben teszi ezt és nem kell külön.
Ha a TryParse-t használom, akkor külön kezelnem kell, ha nem számot kap, ugye?
Bár akkor nem kell vizsgálnom, hogy üres-e a tömb adott eleme (string.Empty), hanem jó oda is a TryParse.
"Mindenképp 5 vagy 6 számot kell megkapjon a lista, ezt az értéket tartalmazza a property."
Oké, de garantált, hogy talál is ennyi számot? mert ha nincs rá garancia, akkor le kell kezelni.
Talán ez:
int index = tempArray.Length - 1; // shows which item of the tempArray is currently examined
while (lotteryNums.Count < WhichLottery)
{
if (int.TryParse(tempArray[index], out int currentLotteryNum))
{
lotteryNums.Add(currentLotteryNum);
}
index--;
}
Kapcsolódó kérdések:
Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!