string数组初始化

时间:2015-05-14 00:18:53

标签: c# arrays

我有新的数组初始化如下:

string[] someNames = new string[] { "John", "Bryan", "Annete", "Mathiew", "Joseph", "Donald", "Tom" };
string[] someNames = { "John", "Bryan", "Annete", "Mathiew", "Joseph", "Donald", "Tom" };

有什么区别?两者给出相同的结果。我认为第二个会抛出一个错误。为什么两者都有效,哪一个更受欢迎或更正确?

2 个答案:

答案 0 :(得分:4)

在第一种情况下,显式提供数组元素的类型。但是,C#编译器可以通过分析您提供的数据来确定数组元素的类型。您的第二个示例显示了此功能。

两个初始值设定项之间完全没有区别。选择一种样式并在整个代码库中使用它以保持一致性。

答案 1 :(得分:0)

没有真正的区别。两者都有效,两者都给你相同的东西。我会使用后者,因为它更少打字,而不是看。简单永远是一个优点。

至于更深层次的原因,后一种方式只是第一个被“语法糖”隐藏的方式。编译时没有区别。

相关问题