将int转换为Char c#?

时间:2015-09-21 15:23:15

标签: c# input char

我希望能够从操作员M / F中读取男性或女性的值,并为每个相应的条目返回单独的文本块。

Char gender;
int TempValue;
Console.WriteLine("Please enter your name");
Console.CursorVisible=true;
String name = Console.ReadLine();
Console.WriteLine(" Greetings, faire travler {0} you are about to depart on a rather exciting adventure, but first are you male or female?", name);
Console.WriteLine("(M/F)");

TempValue = Console.Read();
Console.WriteLine("{0}", TempValue);
gender = Char.Parse(TempValue);

现在我得到一个错误,说我“无法从'INT'转换为'字符串',我真的不明白。因为我试图将它解析为char而不是字符串。

2 个答案:

答案 0 :(得分:1)

Char.Parsestring作为参数,但TempValue被声明为int。您可以ToString TempValue

gender = Char.Parse(TempValue.ToString());

或使用Convert.ToChar(),其中需要object

gender = Convert.ToChar(TempValue);

答案 1 :(得分:1)

Console.Read()返回您输入的字符的ascii值。 (如果是' M'它的77) char.Parse(TempValue)期望TempValuestring,并且它只包含一个字符。所以,这就是你用来转换字符串" M"对于角色' M'但你没有字符串" M&#34 ;;你有int 77.
在这种情况下,您可以简单地投射它:

char gender = (char)TempValue;

或者,你可以使用Console.ReadLine(),它会返回string,然后取第一个字符:

string input = Console.ReadLine();
char gender = input[0];