以更好的方式检查字符串null C#

use*_*167 2 c#

一个方法接受大约7个字符串参数,并且它们需要被检查为null所有这些参数的基本方法是简单的!string.IsNullOrWhitespace(param1)以及同样有更好或更聪明的方法吗?另外,如果有帮助,我可以将参数包装在一个对象中!

Ale*_*ino 6

如果任何 null将是一个假的你:

bool CheckAnyNull(params string[] strs)
{
    foreach (var str in strs)
    {
        if (strs.IsNullOrWhiteSpace(str))
            return true;
    }

    return false;
}
Run Code Online (Sandbox Code Playgroud)

如果你想检查它们是否全部 null:

bool CheckAllNull(params string[] strs)
{
    foreach (var str in strs)
    {
        if (!strs.IsNullOrWhiteSpace(str))
            return false;
    }

    return true;
}
Run Code Online (Sandbox Code Playgroud)

如果您想要特定数量null字符串:

int CheckNullCount(params string[] strs)
{
    int count;
    foreach (var str in strs)
    {
        if (strs.IsNullOrWhiteSpace(str))
            count++;
    }

    return count;
}
Run Code Online (Sandbox Code Playgroud)

然后可以像这样调用所有这些:

CheckAnyNulls(str1, str2, str3, str4, str5, str6, str7);
CheckAllNulls(str1, str2, str3, str4, str5, str6, str7);
int nullStrs = CheckNullCount(str1, str2, str3, str4, str5, str6, str7);
Run Code Online (Sandbox Code Playgroud)

要么:

var strs = new string[7];
// populate the strs array.
CheckAnyNulls(strs);
CheckAllNulls(strs);
int nullStrs = CheckNullCount(strs);
Run Code Online (Sandbox Code Playgroud)