我创建了一个 winforms UI,它通过串行端口向和从具有已知且简单的命令接口的 MCU 发送和接收字符串。我想知道如何创建命令链或队列,或者是否已经有一些内置的方法可以做到这一点?
我在想该链将包含一个标题,该标题指向要执行的下一个命令的位置。每个命令将与指向下一个命令的指针相关联,最终导致指向 NULL 的指针。每当执行命令时,下一个命令字符串将被更新到标题指向的位置,并且每个后续命令都将沿链向上移动。
如果有人能指出我正确的方向或提供一些建议,那就太好了。
如果只需要队列数据结构,可以使用命名空间中的内置Queue<T>
类型System.Collections.Generic
。它具有所有基本的队列功能。请参阅此处的文档。
示例代码(未经测试,仅用于快速示例):
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();
...