在C#如何初始化一个空的数组?正常我们使用数组时代码如下:
 

string[] arr = new string[10];

但是如果初始化一个空的数组怎么办?总不能写成 string[] arr = new string[0];
但是我们可以这样写:

string[] arr={};

或者还有另一个方法:

var arr = Enumerable.Empty<string>().ToArray();

 

几种写法对比

  • string[] arr = { }; —— 集合初始化器,最简洁。
  • string[] arr = new string[0]; —— 显式长度为 0,合法但可读性略低。
  • Array.Empty<string>() —— 返回共享的空数组实例,不额外分配,推荐。
  • Enumerable.Empty<string>().ToArray() —— 适用于 IEnumerable 场景。

结论:优先使用 Array.Empty<T>(),既省内存又语义清晰。