Why split the test to two separate methods. What I mean is that could you simply have a single method, something like:
public void DetermineType(char character, string message) {
}
This way you wouldn't have to decide which method to call in the loop.
Another thing, if you want to test if a character is a number, you can use
char.IsNumber[
^]. For example:
if(char.IsNumber(character)) {
...
}