C#:是否覆盖if-else语句中的字符串值?

C#:是否覆盖if-else语句中的字符串值?,c#,C#,我在C#中有一个相当简单的if-else语句,看起来像这样 string BodyContent = ""; if (Request.Form["value1"] != "") { BodyContent = "bla bla 1"; } else if (Request.Form["value2"] != "") { BodyContent = "bla bla 2"; } else if (Reque

我在C#中有一个相当简单的if-else语句,看起来像这样

    string BodyContent = "";
    if (Request.Form["value1"] != "")
    {
        BodyContent = "bla bla 1";

    }

    else if (Request.Form["value2"] != "")
    {
        BodyContent = "bla bla 2";
    }
else if (Request.Form["value3"] != "")
{
    BodyContent = "bla bla 3";
}
else {
    BodyContent = "Error";
}
我的问题是,即使Request.Form[“value3”]确实有一个值,但value1检查中的BodyContent中的值是可见的。(它只能是在任何时间点具有值的请求表单对象之一,因此这不是因为value1和value3都具有request.form值)


我做错了什么?

替换您的
请求。表单[“valueX”]!=带有
的“
”!string.IsNullOrEmpty(Request.Form[“valueX”])
并查看这对您有何帮助。

替换您的
请求。Form[“valueX”]!=带有
的“
”!string.IsNullOrEmpty(Request.Form[“valueX”])
并查看它对您的作用。

您正在运行一个else if字符串,因此第一个为true的条件将设置变量,而不会检查其他条件。您确定前两个条件不是真的吗?

您正在运行一个else if字符串,因此第一个为真的条件将设置变量,而不会检查其他条件。您确定前两个条件不正确吗?

+1。如果表单数组中的条目没有值,它将为null,而不是空字符串。+1。如果表单数组中的条目没有值,它将为null,而不是空字符串。