为什么字符串打印为unicode字符而不是C#中的可读文本?

时间:2013-04-18 16:06:12

标签: c# string unicode char

我有一个我创建的字符串作为get;设置;:

public static string userDirInput { get; set; }

我使用Console.Read();给它一个值:

userDirInput = Convert.ToString(Console.Read());

在我进行比较之前,我将其打印出来:

Console.Write("read as " + (string)userDirInput);

打印出unicode值而不是可读文本...

如何才能打印出可读文本?

3 个答案:

答案 0 :(得分:5)

您可能希望使用Console.ReadLine,它会返回stringConsole.Read只读取一个字符,并将其作为Int32返回。如果您要将其转换为char,您会看到您正在读取用户键入的第一个字母,而不是整个字符串。

答案 1 :(得分:2)

这是因为Console.Read会返回int,因此更适合char

int i = Console.Read();
char ch = Convert.ToChar(i);

使用ReadLine以字符串形式输入:

string input = Console.ReadLine();

答案 2 :(得分:2)

您可以尝试Convert.ToChar(Console.Read())。ToString();