number + ""
, number.ToString();
ile hemen hemen aynı şey.
Bir tür kısayol. Tam sayı(int) ile string'in toplamı bir string olacağı için boş string ile bir sayıyı toplarsanız o sayıyı string'e implicit(bilinçsiz) olarak cast etmiş olursunuz.
Bilgisayarlar saymaya 0'dan başlar bu yüzden String indexi olarak bakıldığında tek basamaklar aslında 0, 2, 4, 6... indexler olmuş olur. Bu yüzden 0'dan başlayarak 2'şer olarak string'i uzunluğuna kadar saydığınızda tek basamakları gezmiş olursunuz.
1 2 3 5 8
0 1 2 3 4
İstenilen değerler: 1, 3, 8; istenilen indexler: 0, 2, 4.
Tek for döngüsü fazlasıyla yeterli. while ve ayrıca bir if kontrolü vs. ile uğraşmanıza gerek yok.