LINQ iterará una pila en orden LIFO [duplicado]
Dec 08 2020
¿Los métodos LINQ iterarán el contenido de una pila (y en mi caso específico, Stack
Una pregunta simple, y asumiría que sí y sí, pero una tan simple que la búsqueda produjo grandes volúmenes de respuestas relacionadas con LINQ y Stack, de las cuales ninguno de los innumerables resultados que examiné respondió específicamente a este caso.
Respuestas
1 AndrewH Dec 08 2020 at 17:24
Si.
El siguiente experimento muestra que sigue el orden LIFO de Stack.
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
public class DoesLinqIterateAStackInLifo
{
public static void Main()
{
var stack = new Stack<char>();
stack.Push('s');
stack.Push('e');
stack.Push('Y');
Console.WriteLine(stack.Aggregate(new StringBuilder(), (builder,letter) => builder.Append(letter)));
Console.WriteLine(string.Join("",stack.ToList()));
if(stack.Count==3)
{
Console.WriteLine("And it will not pop the stack");
}
}
}
Salida:
Yes
Yes
And it will not pop the stack