我希望能够从操作员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而不是字符串。
答案 0 :(得分:1)
Char.Parse
将string
作为参数,但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)
期望TempValue
为string
,并且它只包含一个字符。所以,这就是你用来转换字符串" M"对于角色' M'但你没有字符串" M&#34 ;;你有int 77.
在这种情况下,您可以简单地投射它:
char gender = (char)TempValue;
或者,你可以使用Console.ReadLine()
,它会返回string
,然后取第一个字符:
string input = Console.ReadLine();
char gender = input[0];