我创建了一个winforms UI,通过串口发送和接收来自MCU的字符串,该MCU具有已知且简单的命令接口。我想知道如何创建一个链或命令队列,或者是否已经有一些内置方法可以做到这一点?
我在想链条将包含一个标题,指向要执行的下一个命令的位置。每个命令都与指向下一个命令的指针相关联,最终导致指向NULL的指针。每当执行一个命令时,下一个命令字符串将被更新为位于标题指向的位置,并且每个后续命令将向上移动链。
如果有人能指出我正确的方向或提供一些建议,那就太棒了。
答案 0 :(得分:1)
如果您只需要队列数据结构,则可以使用Queue<T>
命名空间中的内置System.Collections.Generic
类型。它具有所有基本队列功能。请参阅文档here。
示例代码(未经测试,仅用于快速示例):
using System.Collections.Generic;
var queue = new Queue<string>();
...
queue.Enqueue("CMD1");
queue.Enqueue("CMD2");
...
var nextCommand = queue.Peek(); // will NOT remove the peek item
...
var nextCommandRemoved = queue.Dequeue();
...