c# 两个嵌套的 if 语句,一个 else

标签 c# if-statement

请原谅这个看似简单的问题,但出于某种原因我暂时想不出一个优雅的解决方案。

我有以下情况:

    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/

相关文章:

c# - 将二进制数据转换为 Windows-1252 编码是否可能丢失数据?

c# - 如何从 C# 调用此 native 方法

java - Thymeleaf 条件图像在条件下插入

java - 通过 Hashmap 改进 Loop 中的 if 语句

c# - 使用 json 序列化(反)序列化多个对象时出现 Null 问题

C# 从带引号的字符串中删除分隔符

c# - 如何将命令行参数传递给 docker run 并打印它?

batch-file - 批处理 if else 语句不起作用

java - 创建行程成本计算器

javascript - Angular : How to show icon. png 取决于项目的属性?