【问题标题】:string Array initialization [duplicate]字符串数组初始化[重复]
【发布时间】:2015-07-25 11:29:15
【问题描述】:

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

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

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

【问题讨论】:

  • 为什么会在第二个版本中出现错误?
  • 好的,谢谢。我不知道这两种方式都有可能。如果有人要求,我可能会删除此帖子。

标签: c# arrays


【解决方案1】:

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

这两个初始化器之间绝对没有区别。选择一种样式并在整个代码库中使用它以保持一致性。

【讨论】:

    【解决方案2】:

    没有真正的区别。两者都有效,并且都给你同样的东西。我会使用后者,因为它打字少,看也少。简单总是一个优点。

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

    【讨论】:

      猜你喜欢
      • 2010-12-03
      • 2013-07-05
      • 2016-11-20
      • 2011-12-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-12-30
      相关资源
      最近更新 更多