新 [] 是什么意思
本文关键字:意思 是什么 | 更新日期: 2023-09-27 18:34:51
有一个代码,它从XML中读取某些内容并将其加载到字典中。请在下面找到代码。我需要了解new [] {header}
的作用。
new []
在这里做什么。提前谢谢。
var headers = _doc.GetElementsByTagName("Header");
var header = headers[0];
_dict.Add("Header_" + headerId, new [] {header});
这是一个隐式类型化的数组创建表达式 - 它允许编译器推断数组类型,有点像使用 var
但用于数组。所以在你的情况下,它相当于:
_dict.Add("Header_" + headerId, new XmlNode[] { header });
它是在 C# 3 中添加的,与var
一起添加到支持匿名类型。例如,您可以编写:
var people = new[]
{
new { Name = "Jon", Home = "Reading" },
new { Name = "Gareth", Home = "Cambridge" }
};
不能将其编写为显式类型的数组创建表达式,因为数组元素的类型没有名称。
它添加了一个新的数组,其中包含标头的内容。
它仅用于创建新数组。由于使用集合初始值设定项,因此编译器从headers[0]
分配一个新数组。编译器决定哪种类型。
new [] {header} 只是创建一个数组的新实例。数组将要存储的项的类型是标头对象的类型。不需要定义例如:new string[] { "some string" },一个简单的 new[] { "some string" } 就足以创建一个 String 类型的数组实例。