新的[]是啥意思[重复]

Posted

技术标签:

【中文标题】新的[]是啥意思[重复]【英文标题】:What does new [] mean [duplicate]新的[]是什么意思[重复] 【发布时间】:2015-02-20 08:19:54 【问题描述】:

有一段代码可以从 XML 中读取某些内容并将其加载到字典中。 请在下面找到代码。我需要了解new [] header 的作用。

new [] 在这里做什么。提前致谢。

var headers = _doc.GetElementsByTagName("Header");
var header = headers[0];

_dict.Add("Header_" + headerId, new [] header);

【问题讨论】:

msdn.microsoft.com/en-us/library/bb384090.aspx 相关:All possible C# array initialization syntaxes 非常感谢您的快速回复 【参考方案1】:

这是一个implicitly typed array creation expression - 它让编译器推断数组类型,有点像使用var,但用于数组。所以在你的情况下,它相当于:

_dict.Add("Header_" + headerId, new XmlNode[]  header );

它与var 一起在 C# 3 中添加以支持匿名类型。例如,你可以写:

var people = new[]

    new  Name = "Jon", Home = "Reading" ,
    new  Name = "Gareth", Home = "Cambridge"     
;

你不能把它写成显式类型的数组创建表达式,因为数组元素的类型没有名字。

【讨论】:

【参考方案2】:

它添加了一个包含 header 内容的新数组。

【讨论】:

【参考方案3】:

它只是用于创建一个新数组。由于您使用集合初始值设定项,编译器知道来自headers[0] 的类型

【讨论】:

非常感谢您的快速回复【参考方案4】:

您分配了一个新数组。编译器决定哪种类型。

【讨论】:

非常感谢您的快速回复【参考方案5】:

new [] header 只是创建一个数组的新实例。数组即将存储的项目类型是标头对象的类型。例如不需要定义:new string[] "some string" ,一个简单的 new[] "some string" 就足以创建一个String类型的数组实例。

【讨论】:

非常感谢您的快速回复

以上是关于新的[]是啥意思[重复]的主要内容,如果未能解决你的问题,请参考以下文章

“蛞蝓”是啥意思[重复]

Unreachable Statement是啥意思[重复]

C中的“静态”是啥意思?` [重复]

===在php中是啥意思[重复]

php中某些东西之前的++是啥意思[重复]

%~dp0 是啥意思[重复]