是否可以创建一个空数组而不指定大小?
例如,我创建了:
String[] a = new String[5];
我们可以创建上面的字符串数组没有大小?
是否可以创建一个空数组而不指定大小?
例如,我创建了:
String[] a = new String[5];
我们可以创建上面的字符串数组没有大小?
当前回答
你可以使用数组。空方法(至少在。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;
}
其他回答
试试这个:
string[] a = new string[] { };
我知道数组不能没有大小,但你可以用
List<string> l = new List<string>()
然后是l.ToArray()。
性能规则CA1825:避免分配零长度的数组。
规则解释: 初始化零长度数组会导致不必要的内存分配。相反,通过调用array来使用静态分配的空数组实例。空方法。
在你的情况下:
var a = Array.Empty<string>();
可以在运行时定义数组大小。
这将允许您动态地计算数组的大小。但是,一旦定义,大小是不可变的。
Array a = Array.CreateInstance(typeof(string), 5);
简单优雅!
string[] array = {}