在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>(),既省内存又语义清晰。