我正在使用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”并在每次检查中包含两种可能的条件?
答案 0 :(得分:5)
C#区分大小写。它应该是if
而不是If
。你也想写==
而不是=
进行相等测试。
if (AMPM == "P") skyimg = "nsct.jpg";
答案 1 :(得分:0)
您大写If
。编译器认为If
是变量标识符(因此是表达式)而不是保留关键字if
,这是您想要的。要解决您的问题,请将其设为小写if
。
如果我们使用逻辑运行,它会尝试使用您键入的内容构建一个语句,但您编写的内容不是有效的语法。如果在If
之后加一个分号,那么它将是一个正确的表达式(假设If
是一个有效的标识符,例如变量名)。之后,您会收到错误消息,指出If
未定义。