是否可以创建一个空数组而不指定大小?

例如,我创建了:

String[] a = new String[5];

我们可以创建上面的字符串数组没有大小?


当前回答

如果要使用一个事先不知道其大小的集合,有比数组更好的选择。

使用List<string>代替-它将允许您根据需要添加任意数量的项,如果您需要返回一个数组,请在变量上调用ToArray()。

var listOfStrings = new List<string>();

// do stuff...

string[] arrayOfStrings = listOfStrings.ToArray();

如果你必须创建一个空数组,你可以这样做:

string[] emptyStringArray = new string[0]; 

其他回答

你可以使用数组。空方法(至少在。net Core中)

string ToCsv(int[] myArr = null) { // null by default

    // affect an empty array if the myArr is null
    myArr ??= Array.Empty<int>();
    
    //... do stuff
    string csv = string.Join(",", myArr);

    return csv;
}

你可以初始化它的大小为0,但你必须重新初始化它,当你知道大小是什么,因为你不能追加到数组。

string[] a = new string[0];

你可以:

string[] a = { String.Empty };

注意:OP意味着不需要指定大小,而不是使数组无大小

简单优雅!

string[] array = {}

如果要使用一个事先不知道其大小的集合,有比数组更好的选择。

使用List<string>代替-它将允许您根据需要添加任意数量的项,如果您需要返回一个数组,请在变量上调用ToArray()。

var listOfStrings = new List<string>();

// do stuff...

string[] arrayOfStrings = listOfStrings.ToArray();

如果你必须创建一个空数组,你可以这样做:

string[] emptyStringArray = new string[0];