Update
You can't use a string like this "int i = 0"
on a for loop, the compiler can't read your mind.
You will likely have to rethink your problem, or parse the string for the information you need.
Original
Is there any way to use a string as an initializer, condition or
iterator?
for (string asd = ""; asd != string.Empty; asd += "b")
Note : I'm not sure if I have understood the question, or what your use case is, but you can use a string for all the above. The question is whether you should...
It is common to use a for to iterate a pointer though:
for (char* p = pSomeValue; p < someAddress; p++)
*p = '?'