我只是学习C#的初学者。我目前正在研究一种基本的逻辑计算器。
在计算之前我想提出两个安全问题。正确地提供用户答案应该出现计数选项。我在解决这些问题方面遇到了问题。
这是我遇到一些我无法弄清楚的问题的部分:
if ((Twórca = Twórca.ToUpper().Trim() = "DAMIAN")
&&(Dziewczyna = Dziewczyna.ToUpper().Trim() = "DOROTA"
|| Dziewczyna.ToUpper().Trim() = "DOROTKA"))
Visual Studio说这里有3个错误:
2x CS0131指的是.ToUpper().Trim()
和CS0019引用||
答案 0 :(得分:1)
=是赋值运算符,你想要==这是等于运算符
另外,你需要解决这个问题
Twórca = Twórca.ToUpper().Trim() = "DAMIAN"
而这样做:
Twórca == "DAMIAN" && Twórca.ToUpper().Trim() == "DAMIAN"
否则,您在第二次比较中将布尔值与字符串进行比较
除非您的意图是将该值分配给Twórca
,然后进行比较,在这种情况下请执行以下操作:
Twórca = Twórca.ToUpper().Trim();
Dziewczyna = Dziewczyna.ToUpper().Trim();
if ((Twórca == "DAMIAN")
&&(Dziewczyna == "DOROTA"
|| Dziewczyna == "DOROTKA"))
答案 1 :(得分:1)
有两个主要问题:
=
来比较两个字符串。这个运营商分配。你想要==
,它比较两件事情是否相等。=
两个以上的内容,或者您尝试在if
语句中设置字符串(这可以完成,但它是不常见:你必须小心你正在做什么以及何时正确理解你的代码会产生的影响。这是您可以编写的一种方式,可以执行您尝试进行的检查。它不会修改Twórca
或Dziewczyna
。
if ((Twórca.ToUpper().Trim() == "DAMIAN")
&& (Dziewczyna.ToUpper().Trim() == "DOROTA"
|| Dziewczyna.ToUpper().Trim() == "DOROTKA"))
效率有点低,因为它可以在ToUpper
上运行Trim
和Dziewczyna
两次。