获取错误:可能的非预期参考比较;得到一个值比较,左侧输入'string'

时间:2013-12-03 21:36:04

标签: c# asp.net

我收到错误:可能的非预期参考比较;要获得值比较,请将左侧投射到“string”类型

以下是生成此错误的代码

protected void Page_PreInit(object sender, EventArgs e)
{
    if (Application.["Theme"] == "Classic")
    {
        MasterPageFile = "Classic.master";
    }
    else if (Application["Theme"] == "Night")
    {
        MasterPageFile = "Night.master";
    }
}

我尝试在[“Theme”]之后添加.ToString,但后来说“Operator'=='不能应用于'method group'和'string'类型的操作数

2 个答案:

答案 0 :(得分:1)

这不是一个错误,它是一个Resharper警告。这意味着当您真正想要比较两个字符串的值时,您正在比较objectstring,它将比较引用。为此,您需要先将对象强制转换为字符串。

您需要实际调用该方法,而不是将该方法与您的字符串进行比较:

if (Application["Theme"].ToString() == "Classic")

答案 1 :(得分:0)

您可能还想尝试使用Equals:

Application["Theme"].ToString().Equals("Night")