Was soll eigentlich das Hochzählen irgendwelcher Variablen bezwecken? Geht es nicht einzig darum, eine Liste in zwei separaten Schleifen zu durchlaufen, wobei
- die Anzahl Durchläufe möglichst gleich ist
- keine Einträge doppelt verarbeitet werden sollen
Dazu errechnet man die ungefähre Mitte (bei ungerader Anzahl geht das nicht genau auf):
(sl.Count div 2)
Dann lässt man die eine Schleife von
0
bis
(sl.Count div 2) - 1
laufen und die zweite von
(sl.Count div 2)
bis
slCount - 1
.
Mir ist nicht ganz klar, warum in deinem Beispiel die zweite Schleife bei
run1 + 1
loslegt. Das ergibt doch gar keinen Sinn. Was hat der Zähler
run1
mit den Schleifengrenzen bzw. der Aufteilung der Schleifen zu tun?