Dequeue 不调用排队函数,控制台显示有 1 个 Action 排队。
这段代码:
private static Queue<Action> changeMaterialTask = new Queue<Action>();
static void Main(string[] args)
{
AddAction(() => Test());
while (changeMaterialTask.Count > 0)
{
Console.WriteLine("About to deque");
changeMaterialTask.Dequeue();
Console.WriteLine("I've dequeued");
}
}
public static void AddAction(Action task)
{
changeMaterialTask.Enqueue(task);
}
public static void Test()
{
Console.WriteLine("Worked");
}
当排队函数在出队时执行时在控制台上打印“工作”。
最佳答案
Queue<T>.Dequeue
方法返回您从队列中取出的项目,在本例中为 Action
.然后你需要用它做一些事情,例如:
var action = changeMaterialTask.Dequeue();
action();
关于c# - 排队函数不执行出队,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57291437/