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

例如,我创建了:

String[] a = new String[5];

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


当前回答

简单优雅!

string[] array = {}

其他回答

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

string[] a = new string[0];

你可以:

string[] a = { String.Empty };

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

试试这个:

string[] a = new string[] { };

可以在运行时定义数组大小。

这将允许您动态地计算数组的大小。但是,一旦定义,大小是不可变的。

Array a = Array.CreateInstance(typeof(string), 5);

String [] a = new String [0];

或简称:

String [] a = {};

现在的首选方式是:

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

我写了一个短的正则表达式,你可以在Visual Studio中使用,如果你想替换零长度分配,例如新字符串[0]。 在Visual Studio中打开正则表达式选项使用查找(搜索):

新[][a-zA-Z0-9] + \ [0 \]

现在查找全部或F3(查找下一个)并将所有替换为Array.Empty<…>()!