Can i restart my for loop from 0

Is it possible to restart my for loop under a certain condition? What im trying to accomplish is getting a tile that is not on the border of the map using a for loop but for some reason it is still placing the tile on the border. I thought it had something to do with the for loop not looking through the previous border index in the list, hence why i wanted it to start from 0 again. here is my code:

		for(int s = 0; s < borders.Count; s++){

			if(start != borders~~){~~

~~ Debug.Log("Placing start tile at " + start);~~

~~ }~~
else if(start == borders~~){~~

~~ start = Random.Range(0,tiles.Count);
}~~

~~ }~~
Also i would like to note, there is nothing wrong with the borders because i checked what all the tiles in the border list were and the match perfectly with the outside of the map.

The way you explain your issue is quite puzzling, could you add a bit of context ? Is it a grid, what is ‘start’, what borders and tiles refers to, and more importantly, what exactly are you trying to accomplish ?

That being said, ( but I don’t see how it would help :s ) you can set your s variable inside the for loop :

for(int s = 0; s < borders.Count; s++){
 
             if(start != borders~~){~~

Debug.Log("Placing start tile at " + start);
}
else if(start == borders~~){
start = Random.Range(0,tiles.Count);
}
if(s == borders.Count-1 && start == null)
s = 0;
}~~
I would suggest using a while(){} loop instead, plus resetting the loop to 0 is not good practice and might lead to infinite loop execution if you never find your ‘start’.