新的[]是啥意思[重复]
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类型的数组实例。
【讨论】:
非常感谢您的快速回复以上是关于新的[]是啥意思[重复]的主要内容,如果未能解决你的问题,请参考以下文章