新 [] 是什么意思

本文关键字:意思 是什么 | 更新日期: 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 类型的数组实例。