检查数组是空还是空

use*_*248 -6 c#

我需要验证我的字符串数组是空还是空.以下是我的代码.两者都不起作用.虽然数组未使用任何值进行初始化,但它显示为包含值.有人可以帮忙吗?

string abc[] = new string[3];

first code 

if(abc != null)
{

}

second code 

if(IsNullOrEmpty(abc))
{

}

public static bool IsNullOrEmpty<T>(T[] array)
{
    return array == null || array.Length == 0;
}
Run Code Online (Sandbox Code Playgroud)

Mat*_*son 12

这一行:

string abc[] = new string[3];
Run Code Online (Sandbox Code Playgroud)

创建一个非null,非空数组(它的大小为3,包含3个空引用).

当然,IsNullOrEmpty()返回false.

也许您还想检查数组是否只包含空引用?你可以这样做:

public static bool IsNullOrEmpty<T>(T[] array) where T: class
{
    if (array == null || array.Length == 0)
        return true;
    else
        return array.All(item => item == null);
}
Run Code Online (Sandbox Code Playgroud)