c#控制台 console.Read读取的和输出不一样

2025-05-10 17:28:44
推荐回答(5个)
回答1:

Console.read()就好像c++的cin一样,c++的cin读入的是该键的ascii码,如果你想读1就输出1的话,把i声明为string,用ReadLine读取。
即string i = Console.ReadLine();
如果有需要转回整形就加多句Convert.ToInt32(i);

这种情况用console.read()????白费精力,编程要讲效率的啊
因为Console.Read()一次只是读入一个字符
以下代码只是针对让你输入一个字符的.
try {
int i = Console.Read();
if (i>=49 && i<=58)
{
int k=i-48;
Console.WriteLine(k)
}
}
catch
{
Console.WriteLine("你输入的不是数字或你一次输入超过一个数字");
}

回答2:

Console.Write("please enter a char:");
int i = Console.Read();
ASCIIEncoding asciiEncoding = new ASCIIEncoding();
byte[] byteArray = new byte[] { (byte)i };
string ii= asciiEncoding.GetString(byteArray);
Console.WriteLine("i's value is"+ii);

Read()方法只能获取ASCII码值,建议还是用ReadLine(),可以省去很多麻烦的

回答3:

涉及类型的转换,
Console.Read(); 读入的是字符串类型,所以要转换一下:
int i = in.parse(Console.Read());
或者楼上的方法:Convert.ToInt32(Console.Read());
然后再输出:Console.Write(i);

回答4:

你那样输出的ANSI的编码
string i = Console.ReadLine();
Console.Write(Convert.ToInt32(i));

回答5:

我试了一下楼上的方法,没有用。我是初学者,我打进1,输出的是49.