检查字符串不为空、不为空和不=“0000000”的最简单方法是什么?

本文关键字:最简单 方法 是什么 字符串 检查 0000000 | 更新日期: 2023-09-27 18:18:07

我使用的是:

!string.IsNullOrEmpty(Model.ProductID)

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

检查字符串不为空、不为空和不=“0000000”的最简单方法是什么?

!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())
{
    ...
}
if(!string.isNullOrEmpty(Model.ProductID) && Model.ProductID != "0000")

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

我真的不认为有一个函数适合你的具体情况。人们通常不会想要检查一个字符串是否满足这三个条件。

没有什么特别的理由去担心"优化"这段代码。&&运算符是短路的,这意味着字符串比较甚至不会发生,除非字符串确实包含一些值。

IsNullOrEmpty检测的基础上,增加string.Trim('0').Length != 0检测。这也将捕获任意数量的零字符串(而不是特定的4)。

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

如果在c# 4.0中,你应该使用

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

或不

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