Wird LINQ einen Stapel in LIFO-Reihenfolge iterieren [Duplikat]
Werden LINQ-Methoden den Inhalt eines Stacks (und in meinem speziellen Fall Stack
Eine einfache Frage, und ich würde Ja und Ja annehmen, aber eine, die so einfach ist, dass die Suche große Mengen an LINQ- und Stack-bezogenen Antworten hervorbringt, von denen keines der unzähligen Ergebnisse, die ich durchsucht habe, diesen Fall speziell beantwortet hat.
Antworten
Ja.
Das folgende Experiment zeigt, dass es der LIFO-Reihenfolge des Stapels folgt.
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");
}
}
}
Ausgabe:
Yes
Yes
And it will not pop the stack