gpt4 book ai didi

c# - 想要 Actions 列表中的下一个 Stack

转载 作者:行者123 更新时间:2023-11-30 20:41:39 25 4
gpt4 key购买 nike

我正在为我的应用程序制作一个UndoRedo Functionlity。现在功能 DoAction 我有在 Stack<UndoRedoAction> 中采取的行动列表 现在我想获得最后采取的行动,它自动成为列表中的第一个要取出列表中的第一个,我使用了 actionList.Peek(); 现在出现的情况是,下次我想从列表中取第二个。我不知道该怎么做

private void DoAction(Stack<UndoRedoAction> actionList, Stack<UndoRedoAction> storeList, Action<UndoRedoAction> action)
{
if (actionList.Count > 0)
{
UndoRedoAction urAction = actionList.Peek();
action(urAction);
storeList.Push(urAction);
}
}

最佳答案

您需要使用 Stack<T>.Pop 而不是 Peek . PopPeek 时移除堆栈中最后添加的项目并返回它返回最后添加的项目而不将其从堆栈中删除。

关于c# - 想要 Actions 列表中的下一个 Stack<T>,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32197943/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com