随着集合表达式的引入,C# 中可以通过多种方式声明具有已知元素的数组:
仅使用花括号的旧数组语法
int[] array = {1, 2, 3, 4, 5};
集合表达式
int[] array = [ 1, 2, 3, 4, 5 ];
现在也可以用不同的方式编写空数组:
空数组 - 花括号
int[] array = { };
空数组 - 方括号
int[] array = [];
声明数组的不同方法让我有些困惑。我想知道这些声明之间是否有区别?在某些情况下,使用其中一种声明比使用另一种声明有什么好处吗?是否有性能优势促使人们使用其中一种声明而不是另一种声明(即使它适用于某些非常特殊的场景)?
更新 删除了部分数组声明方法,使问题与其他问题不太相似,以避免重复混淆。
简单回答一下。除了可读性之外...不会...性能不会受到影响。如果您需要一个空数组,您可以使用旧方法,因为在我看来,这会使阅读更加清晰,但这有点违背数组的原则,因为它们不是动态的。
Tl;Dr;不
编辑:正如@Oliver Jacot-Descombes 提到的,
[]
声明空数组的方式Array.Empty<T>();
不接受花括号样式,并且每次都会创建一个新的空数组