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

例如,我创建了:

String[] a = new String[5];

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


当前回答

性能规则CA1825:避免分配零长度的数组。

规则解释: 初始化零长度数组会导致不必要的内存分配。相反,通过调用array来使用静态分配的空数组实例。空方法。

在你的情况下:

var a = Array.Empty<string>(); 

其他回答

性能规则CA1825:避免分配零长度的数组。

规则解释: 初始化零长度数组会导致不必要的内存分配。相反,通过调用array来使用静态分配的空数组实例。空方法。

在你的情况下:

var a = Array.Empty<string>(); 

你可以:

string[] a = { String.Empty };

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

我试过了:

string[] sample = new string[0];

但我只能插入一个字符串,然后我得到一个exceptionOutOfBound错误,所以我只是简单地为它输入一个大小,比如

string[] sample = new string[100];

或者另一种适合我的方法:

List<string> sample = new List<string>();

为列表赋值:

sample.Add(your input);

简单优雅!

string[] array = {}

你可以使用数组。空方法(至少在。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;
}