检查字符串是否为空,不是空而不是=“0000”的最简单方法是什么?

时间:2011-12-18 14:15:03

标签: c#

我使用以下内容:

!string.IsNullOrEmpty(Model.ProductID)

但现在我还需要检查字符串是否不等于“0000”。检查最简单的方法是什么?

3 个答案:

答案 0 :(得分:9)

!string.IsNullOrEmpty(Model.ProductID) && Model.ProductID != "0000"

或写一个扩展方法:

public static class StringExtensions
{
    public static bool IsNullEmptyOrZeros(this string value)
    {
        return !string.IsNullOrEmpty(value) && value != "0000";
    }
}

然后:

if (!Model.ProductID.IsNullEmptyOrZeros())
{
    ...
}

答案 1 :(得分:0)

怎么样......

if (!string.IsNullOrEmpty(Model.ProductID) && Model.ProductID.Trim() != "0000")

我真的不认为你的具体案例有其功能。人们通常不想检查所有这三种情况的字符串。

无论如何都没有特别担心“优化”此代码。 &&运算符是短路的,这意味着除非字符串 包含某些值,否则字符串比较甚至不会发生。

答案 2 :(得分:0)

我认为您还需要检查值是否为“”

如果在C#4.0中,则应使用

!string.IsNullOrWhiteSpace(Model.ProductID) && Model.ProductID != "0000"

或不,

!string.IsNullOrEmpty(value) && value.trim().length > 0 && Model.ProductID != "0000"