错误:cs0131 赋值的左侧必须是变量、属性或索引器

我尝试进行文本冒险,但在到达“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()"


慕码人8056858
浏览 811回答 2
2回答

慕斯709654

在 C# 和许多语言中,将变量赋值为一个值和测试是否相等是有区别的。在 C#=中用于赋值。int x = 1;将创建一个值为 的变量1。== 用于测试一个值,所以你会写 if (x == 100) { /* something */ }

三国纷争

继续你当前的代码,你可能应该有更多这样的东西:Console.WriteLine("yes or no");string answer = Console.ReadLine();if (answer == "yes") { Console.WriteLine("Great!, Lets play one"); }主要区别是:您正在阅读用户在询问是或否后输入的答案,但是在您的代码中,您正在尝试重新阅读另一个答案。这不太合理。控制台将挂起,直到用户输入另一个响应。正如 JamesFaix 所说,Console.ReadKey()在您询问他们是否想玩之后,您尝试为用户首先响应的任何内容分配一个值。相反,您应该检查用户的回复是否是肯定的回复。
打开App,查看更多内容
随时随地看视频慕课网APP