Hola,
según tu consulta el problema está en el uso del método substring. Este como bien haces tiene 2 parametros y se utiliza de la siguiente forma
s.substring(indice, tamaño);
el indice comienza en la posición 0 (cero).
Lo que si noto es que estás convirtiendo una variable en char pero estás tratando de recuperar otro string ya que el for se recorre tantas veces como cantidad de caracteres tiene el string y estás recuperando desde la posición
5 hasta el final, formando un string. Si lo que querés hacer es recuperar un solo caracter podés hacer como te dijo Leando o si querés mantener la forma en que estás trabajando, cambiar el inicio del for de la siguiente forma:
for (int i = 0; i <= s.Length; i++)
y además cambiar lo siguiente:
char c = Convert.ToChar(s.Substring(i,1));//Aqui no entiendo como puedo manjearlo
Espero hayamos sido de ayuda.
Saludos,
Mariano Llarin.-