C# 猜数字游戏真的很奇怪还是我瞎了。。?

C# 猜数字游戏真的很奇怪还是我瞎了。。?,c#,C#,请告诉我发生了什么事!我不明白为什么会这样。。。由于某种原因,它在循环中运行了三次,但根本没有按预期工作。我一点也不明白 我的代码 结果。。。 您编写的是Console.Read(),而不是Console.ReadLine() 这意味着您在控制台中键入的每个字符都将导致循环运行,包括按Enter键时组成新行的字符 更令人困惑的是,字符'2'在数字上实际上是32,而换行符/回车符分别是10/13,因此如果游戏考虑25,并且您键入22\n它将通过3次猜测,游戏将说“太高”、“太高”、“太低”(32

请告诉我发生了什么事!我不明白为什么会这样。。。由于某种原因,它在循环中运行了三次,但根本没有按预期工作。我一点也不明白

我的代码

结果。。。

您编写的是
Console.Read()
,而不是
Console.ReadLine()

这意味着您在控制台中键入的每个字符都将导致循环运行,包括按Enter键时组成新行的字符

更令人困惑的是,字符'2'在数字上实际上是32,而换行符/回车符分别是10/13,因此如果游戏考虑25,并且您键入
22\n
它将通过3次猜测,游戏将说“太高”、“太高”、“太低”(32、32、10)

另外,如果你输入一个,程序会将其视为65。。但这是对ASCII表的一个很好的介绍:)

将其换成
ReadLine
,这样您就可以键入多个字符,并且只在按Enter键时运行循环。(ReadLine仅在按enter/return键时返回值)


也应考虑在其中引入错误处理;如果[您切换到ReadLine并且]用户键入非数字字符,您的代码将崩溃

您应该使用
ReadLine
而不是
Read

请在问题中包含代码以及预期行为和观察到的行为。不要让人们更难帮助你。在发布代码之前,你可能想降低语言的语调。我想你需要的是
ReadLine
,而不是
Read
@EJoshuaS。我非常希望能链接到一张图片,上面写着“不要发布代码图片”,非常感谢。这么简单,我永远也猜不到。。。我刚开始学习C语言,不习惯语法或框架。我已经习惯了像Swift这样简单的语言,事实上,我已经有一段时间没有做太多的编码了,所以我变得生疏了:p再次感谢!