Which is first, Xml Assignment or Constructor?

If I were to deserialize an xml and it assign to a new object, such as this:

[XmlRoot("TileArray")]
public class TileArray 
{
	[XmlArray("TileCollection")]
	[XmlArrayItem("Tile")]
	public List<Tile> TileCollection = new List<Tile>();
}

When the “Tile” objects are created in the list and XML elements are assigned to it, say, like this:

public class Tile 
{
	[XmlElement("id")]
	public ushort tileNumber;
}

Would the “tileNumber” variable be assigned to the Tile object first, and then the Tile object constructor called, or the other way around?

Turns out, the constructor is called first, when it’s added to the list. After that, the variables are assigned.