При использовании метода расширения .ToList() в Stack<T>, является ли результат таким же, как popping каждого элемента и добавление в новый список (назад от того, что было нажато)?
Если это так, это потому, что он действительно выполняет итерацию по каждому элементу, или он сохраняет внутренние элементы в обратном направлении и сбрасывает массив в новый List<T>?