Em que ordem um C # para cada loop itera uma List <T>?

Eu estava pensando sobre a ordem que um loop foreach em C # faz um loop através de umSystem.Collections.Generic.List<T> objeto.

eu encontreioutra pergunta sobre o mesmo tópico, mas não sinto que responda a minha pergunta para minha satisfação.

Alguém afirma que nenhuma ordem é definida. Mas como alguém afirma, a ordem que percorre um array é fixa (de 0 a Length-1).8.8.4 A declaração foreach

Também foi dito que o mesmo vale para qualquer classe padrão com um pedido (por ex.List<T>). Não consigo encontrar nenhuma documentação para fazer isso. Então, pelo que sei, pode funcionar assim agora, mas talvez na próxima versão .NET seja diferente (mesmo que seja improvável).

Eu também olhei para oList(t).Enumerator documentação sem sorte.

Outra questão relacionada afirma que, para Java, é especificamente mencionado na documentação:

List.iterator()retorna um iterador sobre os elementos desta lista na seqüência correta. "

Eu estou procurando por algo parecido na documentação do C #.

Desde já, obrigado.

Edit: Obrigado por todos vocês por todas as suas respostas (incrível o quão rápido eu tenho tantas respostas). O que eu entendo de todas as respostas é queList<T> sempre itera na ordem de sua indexação. Mas eu ainda gostaria de ver uma paz clara de documentação afirmando isso, semelhante aoDocumentação Java emList.

questionAnswers(5)

yourAnswerToTheQuestion