order of children

What is the order of the children inside a gameobject, is it by child name? It seems a silly question but I am trying to use this code:

for (var i=0;i<transform.childCount;i++)
{

if (i == index)
transform.GetChild(i).gameObject.SetActiveRecursively(true);
else
transform.GetChild(i).gameObject.SetActiveRecursively(false);

}

And I wanted to know what is the sequence of the children to access the proper index number.
Is it possible to change that order?

I’m guessing the order of children is undefined (although I don’t know that for sure).