gpt4 book ai didi

c# - 如何从列表中获取 "Dequeue"元素?

转载 作者:IT王子 更新时间:2023-10-29 03:53:07 24 4
gpt4 key购买 nike

我有一个名为 _deck 的卡片列表:

 private List<String> _deck = new List<String> {"2h", "3h", "4h", ... }

然后我想从 List 中删除一张卡片并保存到一个变量中。我正在尝试:

 String p1FirstCard = _deck.RemoveAt(0);

但是我得到了错误

Cannot convert type void to String

在 C# List 中是否有类似于 push/pop 的东西,但它是在 List 的“头部”或“开始”执行的? (推送/弹出在列表的“尾部”或“尾部”工作。)

如果不是,我应该如何删除第一个元素并将其保存在变量中?

最佳答案

如果你想使第一个元素出队,你可以简单地使用 Queue<T> .

class Program
{
static void Main(string[] args)
{
var _deck = new Queue<String>();
_deck.Enqueue("2h");
_deck.Enqueue("3h");
_deck.Enqueue("4h");
_deck.Enqueue("...");

var first = _deck.Dequeue(); // 2h
first = _deck.Dequeue(); // 3h
}
}

如果你想弹出最后一个元素,你可以使用 Stack<T> .

class Program
{
static void Main(string[] args)
{
var _deck = new Stack<String>();
_deck.Push("2h");
_deck.Push("3h");
_deck.Push("4h");
_deck.Push("...");

var first = _deck.Pop(); // ...
first = _deck.Pop(); // 4h
}
}

关于c# - 如何从列表中获取 "Dequeue"元素?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24855908/

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