Boa noite.
Tu podes usar o método .ToCharArray():
char[] caracteresMsg = msg.ToCharArray();
Agora se essa for algum exercício de lógica, eu não vou dar resposta, porém dou uma(s) dica(s):
Tu não precisas usar o método Substring e converter para char, tu podes simplesmente pegar o
index da string:
caracterMsg[1] = msg[1];
E também, como alternativa, tu podes fazer um foreach na string:
foreach (char c in msg)
{
}
Att., Rafael Simor