有一个代码可以从XML中读取内容并将其加载到字典中。
请找到下面的代码。我需要了解new [] {header}
的作用。
new []
在这做什么。谢谢。
var headers = _doc.GetElementsByTagName("Header");
var header = headers[0];
_dict.Add("Header_" + headerId, new [] {header});
答案 0 :(得分:7)
它是implicitly typed array creation expression - 它允许编译器推断数组类型,有点像使用var
但是对于数组。所以在你的情况下,它等同于:
_dict.Add("Header_" + headerId, new XmlNode[] { header });
它在C#3中与var
一起添加,以支持匿名类型。例如,您可以写:
var people = new[]
{
new { Name = "Jon", Home = "Reading" },
new { Name = "Gareth", Home = "Cambridge" }
};
您无法将其写为显式类型的数组创建表达式,因为数组元素的类型没有名称。
答案 1 :(得分:2)
它添加了一个带有标题内容的新数组。
答案 2 :(得分:1)
它只是用于创建新数组。由于您使用集合初始值设定项,因此编译器知道headers[0]
答案 3 :(得分:1)
您分配了一个新阵列。编译器决定使用哪种类型。
答案 4 :(得分:1)
new [] {header}只是创建一个新的数组实例。数组要存储的项类型是头对象的类型。没有必要定义例如:new string [] {“some string”},一个简单的new [] {“some string”}就足以创建一个String类型的数组实例。