请原谅这个看似简单的问题,但出于某种原因我暂时想不出一个优雅的解决方案。
我有以下情况:
if (Request.QueryString["name"] != null)
{
if (Request.QueryString["name"].ToString() != "")
{
nameSpan.InnerHtml = Request.QueryString["name"].ToString();
}
}
问题是,如果 querystring["name"] 为 null 或 emtpy,我想隐藏 nameSpan
。丑陋的解决方案是:
if (Request.QueryString["name"] != null)
{
if (Request.QueryString["name"].ToString() != "")
{
nameSpan.InnerHtml = Request.QueryString["name"].ToString();
}
else
{
nameSpan.Visible = false;
}
}
else
{
nameSpan.Visible = false;
}
我希望有这样一种情况,其中 nameSpan.Visible = false;
部分可以合并到 一个 区域,所以我只需要写 一次。
据我所知,无法执行以下操作:
if (Request.QueryString["name"] != null && Request.QueryString["name"].ToString() != "")
{
nameSpan.InnerHtml = Request.QueryString["name"].ToString();
}
else
{
nameSpan.Visible = false;
}
但是如果我错了请告诉我!如果您有不同的解决方案来改变逻辑,那么我很乐意有不同的看法!谢谢!
最佳答案
您的 &&
解决方案应该没问题。如果 &&
的左侧为 false,则右侧不会被计算,因此不会有异常。
如果你愿意,你可以使用 String.IsNullOrEmpty
静态方法:
if (!string.IsNullOrEmpty(Request.QueryString["name"]))
{
nameSpan.InnerHtml = Request.QueryString["name"].ToString();
}
else
{
nameSpan.Visible = false;
}
关于c# 两个嵌套的 if 语句,一个 else,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21484775/