检测空数组而不循环

Mas*_*ian 0 .net c# c#-4.0

我怎么能找到一个数组是空的,没有循环?!
有什么方法或其他吗?

我的意思是,在这样的代码中:

string[] names = new string[5];
names[0] = "Scott";
names[1] = "jack";
names[2] = null;
names[3] = "Jones";
names[4] = "Mesut";

// or

int[] nums = new int[4];
nums[0] = 1;
// nums[1] = 2;
nums[2] = 3;
nums[3] = 4;
Run Code Online (Sandbox Code Playgroud)

或者像这样的代码:

using System;
class Example
{
    static void Main()
    {
        int size = 10;
        int counter;
        string[] str = new string[size];

        for (counter = 0; counter < size; counter++)
        {
            str[counter] = "A" + counter;
        }

        str[3] = null;

        if (counter == size)
            Console.WriteLine("Our array is full!");
        if(counter < size)
            Console.WriteLine("Our array is not full");

        for (int i = 0; i < size; i++)
        {
            Console.WriteLine(str[i]);
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

没有其他任何东西用于检测没有循环的空数组?

Jon*_*eet 5

数组只包含许多元素.由于每个元素恰好包含默认值(0,null或其他),因此没有数组"空"的概念.

如果你想要一个动态大小的集合,你应该使用类似List<T>而不是数组的东西.

如果你想检测(不管是列表,数组或任何其他类型)的集合中的任何元素是否是一个非默认值,你必须通过循环来做到这一点.(您不必在源代码中循环,但在某处会涉及到循环......)

  • @MesutDarvishian,你必须测试每一个,直到你遇到null,非null,all not null或all null.只有其他方式,将数组隐藏在另一个对象中,并设置一些标志作为子项目被分配,必须是特殊情况,但这将得到回报. (2认同)