我尝试进行文本冒险,但在到达“if”部分时出现错误。我让它工作了一次,但不像我想要的那样。我稍微改变了一下,然后放弃并转到原始脚本,但它不像上次那样工作,而是给了我这个错误:cs0131 赋值的左侧必须是变量、属性或索引器这是我的代码:Console.WriteLine("What's your name");string name = Console.ReadLine();Console.Write("Hello " + name);Console.WriteLine(" do you like games?");Console.WriteLine("yes or no");string yes = Console.ReadLine();string no = Console.ReadLine();if (Console.ReadKey() = yes) { Console.WriteLine("Great!, Lets play one"); }//the error is at "if (console.readkey()"
2 回答
慕斯709654
TA贡献1840条经验 获得超5个赞
在 C# 和许多语言中,将变量赋值为一个值和测试是否相等是有区别的。
在 C#=
中用于赋值。int x = 1;
将创建一个值为 的变量1
。
==
用于测试一个值,所以你会写 if (x == 100) { /* something */ }
三国纷争
TA贡献1804条经验 获得超7个赞
继续你当前的代码,你可能应该有更多这样的东西:
Console.WriteLine("yes or no");
string answer = Console.ReadLine();
if (answer == "yes") { Console.WriteLine("Great!, Lets play one"); }
主要区别是:
您正在阅读用户在询问是或否后输入的答案,但是在您的代码中,您正在尝试重新阅读另一个答案。这不太合理。控制台将挂起,直到用户输入另一个响应。
正如 JamesFaix 所说,Console.ReadKey()在您询问他们是否想玩之后,您尝试为用户首先响应的任何内容分配一个值。相反,您应该检查用户的回复是否是肯定的回复。
- 2 回答
- 0 关注
- 810 浏览
添加回答
举报
0/150
提交
取消