【问题标题】:C# dynamic array initialisation [advantage?]C#动态数组初始化[优势?]
【发布时间】:2013-09-23 16:08:48
【问题描述】:

我刚开始学习 C# 并使用 Tutorials Point 来做这件事。在关于数组的部分,我一直看到声明为的数组

string[] sarray = { "Hello", "From", "Tutorials", "Point" };

或者像这样的其他时间:

int [] marks = new int[5]  { 99,  98, 92, 97, 95 };

来自 c++,第一种声明方法对我来说并不是那么新,但第二种是我不明白的。问题是如果数组要动态初始化,那为什么要用大括号括起来的初始化列表来指定数组的内容呢?

按照已经完成的方式初始化第二个有优势吗?

【问题讨论】:

标签: c# arrays array-initialization


【解决方案1】:

完全没有优势。这是一个编码偏好的事情。

您甚至可以只省略尺寸部分,例如:

int[] marks = new int[] {99, 98, 92, 97, 95};

查看 MSDN 了解更多信息:http://msdn.microsoft.com/en-us/library/aa288453(v=vs.71).aspx

【讨论】:

  • 你甚至不需要右边的 int[] 部分,int[] abc = new[] { 99, 98, 92, 97, 95 }; 就可以了
  • 好的,谢谢你,我只是想这与能够将一个函数传递给一个函数有关,而另一个函数由于它们都被初始化的方式而无法做到这一点
【解决方案2】:

第一个语句隐含地相同

string[] sarray = new string[5] { "Hello", ... };

一种风格比另一种风格没有优势,保存个人喜好。我倾向于将第二个语句写为

var marks = new [] { 99, 98, ... };

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-09-22
    • 1970-01-01
    • 2023-03-19
    • 2019-11-02
    • 1970-01-01
    • 1970-01-01
    • 2017-07-21
    相关资源
    最近更新 更多