C# CS0131和CS0019。基本逻辑/计算器

C# CS0131和CS0019。基本逻辑/计算器,c#,C#,我只是学C#的初学者。我目前正在开发一个具有一些基本逻辑的基本计算器 在计算之前,我想问两个安全问题。如果用户回答正确,则应显示计数选项。我在正确回答这些问题方面遇到了问题 在这一部分中,我遇到了一些我无法理解的问题: if ((Twórca = Twórca.ToUpper().Trim() = "DAMIAN") &&(Dziewczyna = Dziewczyna.ToUpper().Trim() = "DOROTA" || Dziewczyna.T

我只是学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引用的
|
=是赋值运算符,您需要==这是相等运算符

此外,你需要打破这一局面

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"))

主要有两个问题:

  • 您正试图使用
    =
    来比较两个字符串。此运算符指定。您需要
    ==
    ,它比较两个事物是否相等
  • 您试图一次在两件以上的事情上使用
    =
    ,或者试图在
    if
    语句中设置字符串(这是可以做到的,但并不常见:您必须小心您正在做的事情以及何时正确理解代码将产生的影响)
  • 这里有一个方法,你可以写它,将做检查你试图做。它不会修改Twórca或Dziewczyna

    if ((Twórca.ToUpper().Trim() == "DAMIAN")
        && (Dziewczyna.ToUpper().Trim() == "DOROTA"
            || Dziewczyna.ToUpper().Trim() == "DOROTKA"))
    

    它的效率有点低,因为它可以在
    Dziewczyna
    上运行两次
    ToUpper
    Trim
    Twórca==“DAMIAN”和&Twórca.ToUpper()。Trim()==“DAMIAN”
    也是我的第一个想法,但如果你看一下,它相当于简单的
    Twórca==“DAMIAN”
    。我不认为这是他的意图。同意,我更新了我的答案,以说明他的意图可能是什么。
    if ((Twórca.ToUpper().Trim() == "DAMIAN")
        && (Dziewczyna.ToUpper().Trim() == "DOROTA"
            || Dziewczyna.ToUpper().Trim() == "DOROTKA"))