Uma Lista <T> garante que os itens serão devolvidos na ordem em que foram adicionados?

Faz umList<T> sempre garantir que os itens serão devolvidos na ordem em que foram adicionados quando enumerados?

Atualizada: Obrigado por todas as respostas pessoal, deixa minha mente à vontade. Eu dei uma olhada rápida noList<T> classe com o .NET Reflector (provavelmente deveria ter feito isso em primeiro lugar) e, de fato, o armazenamento subjacente é uma matriz deT (T[])

questionAnswers(4)

yourAnswerToTheQuestion