Example1:
for(size_t i; i < s.length; ++i){
// do something with s[i]
}
Example2:
foreach(i; 0 .. s.length){
// do something with s[i]
}
Example3:
foreach(i, c; s){
// do something with c and i
}
What is the preferable way for portability, performance, compiler?