C# 重新分配变量的值

C# 重新分配变量的值,c#,C#,我使用C#,读取一行文本(ln),并将图像分配给图片框。选择图像后,我会检查它是夜间还是白天,如果太阳已经升起,我会尝试将所选图像更改为夜间版本 charPos = ln.IndexOf("partly cloudy", 0); if (charPos > -1) { skyimg = "sct.jpg"; skymsg = "Partly Cloudy"; If (AM

我使用C#,读取一行文本(ln),并将图像分配给图片框。选择图像后,我会检查它是夜间还是白天,如果太阳已经升起,我会尝试将所选图像更改为夜间版本

        charPos = ln.IndexOf("partly cloudy", 0);
        if (charPos > -1)
        {
            skyimg = "sct.jpg";
            skymsg = "Partly Cloudy";
            If (AMPM = "P") skyimg = "nsct.jpg";
        }
编译器告诉我缺少一个分号,只是不喜欢第二个“if”检查。 我是否必须使用“else-if”并在每次检查中包括两种可能的条件?

C#区分大小写。它应该是
if
而不是
if
。您还打算为相等性测试编写
=
而不是
=

if (AMPM == "P") skyimg = "nsct.jpg";

如果,则大写
。编译器认为
If
是一个变量标识符(因此是一个表达式),而不是您想要的保留关键字
If
。要解决您的问题,请将其设置为小写的
(如果

如果我们使用逻辑运行,它将尝试使用您键入的内容构建语句,但您编写的语法无效。如果在
If
后面加上分号,则该表达式是正确的(假设
If
是有效标识符,例如变量名)。之后,如果未定义
,则会出现一个错误,提示