【问题标题】:Checking if a textbox is "0" or null or empty检查文本框是否为“0”、null 或空
【发布时间】:2015-05-13 13:34:42
【问题描述】:

我正在尝试使用以下代码查看文本框是 "0" 还是为空。

我希望我可以在IsNulorEmpty 上使用! 运算符,但它似乎没有达到我想要的效果。有没有一种简单的方法可以在一条线上做到这一点?

if (!String.IsNullOrEmpty(MyTextbox.Text) || MyTextbox.Text != "0")
{ 
    //string is either null, empty or 0
}
else
{ 
    //string has a value
}

【问题讨论】:

  • 删除第一个!并将!=更改为==。看看你的情况和你的评论比较...
  • 简单地说,你的逻辑完全背离了你的要求。
  • 感谢@Jon Skeet - 已经解决了!

标签: c#


【解决方案1】:

代码正在执行您编写的操作,但您对运算符评估感到困惑:

if (string.IsNullOrEmpty(MyTextbox.Text) || MyTextbox.Text == "0")
{ 
     //string is either null, empty or 0
}
else
{ 
     //string has a value
}

【讨论】:

    【解决方案2】:
    if (!(String.IsNullOrEmpty(MyTextbox.Text) || MyTextbox.Text == "0"))
    { 
       //string has a value
    }
    else
    { 
       //string is either null, empty or 0
    }
    

    【讨论】:

    • 您的代码与 OP 存在相同的问题。你有条件反转。查看您的代码与块中的 cmets。
    • @JustinNiessner 这不是完全相同的问题。这实际上与 OP 想要的相反,因此在这里交换 if 和 else 中的代码将起作用。
    • @JustinNiessner 是正确的,您所做的只是在 if 语句周围添加一个额外的括号,它不会改变该语句中的逻辑与 cmets 完全相反的事实状态
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-10-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多