Well foreach fetched one by one object among the collection and For loop fetched based on index of object.
Like if you want to apply for loop for the same scenario then
DataRow row = dt.rows[i];
Where i Plays an important role that on object at which index should be fetched. and while in foreach it grabs one by one object from the collection.
Article provided by thatraja is good but it lacks understanding may THIS
] will help you in better way to understand it.