What does new [] mean

There is a code where that reads something from the XML and loads it into dictionary. Pls find the code below. I need to understand what new [] {header} does.

what is new [] doing here.Thanks in advance.

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

_dict.Add("Header_" + headerId, new [] {header});
Jon Skeet
people
quotationmark

It's an implicitly typed array creation expression - it lets the compiler infer the array type, a bit like using var but for arrays. So in your case, it's equivalent to:

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

It was added in C# 3 along with var to support anonymous types. For example, you can write:

var people = new[]
{
    new { Name = "Jon", Home = "Reading" },
    new { Name = "Gareth", Home = "Cambridge" }    
};

You couldn't write that as explicitly typed array creation expression, because the type of the array elements doesn't have a name.

people

See more on this question at Stackoverflow