我需要从“写入日志”功能中捕获最后5行,以便将其添加到调试电子邮件中。我想不出一个简单的方法。
我确实认为我可以拥有一个包含5个项目的数组,但我仍然需要对现有项目进行随机播放以添加当前数据。
有什么想法吗?
我正在使用vb.net 2005
答案 0 :(得分:2)
使用队列。如果在队列中添加新项目时超过6,则将一个项目出列。
答案 1 :(得分:0)
如果你想使用List(Of LogEntry)
,那么伪代码是这样的:
RemoveAt
)。这不是空间或CPU效率的,但它肯定会起到作用。
答案 2 :(得分:0)
我确实认为我可以拥有一个包含5个项目的数组,但我仍然需要对现有项目进行随机播放以添加当前数据。
是的,您可以移动数组内容以为新项目腾出空间,丢弃最旧的项目。
最好使用双链表,这样您就可以在列表的开头添加一个项目,并从列表末尾删除该项目(反之亦然),而无需触及其他元素。
在.NET中,您需要LinkedList类,然后使用AddFirst和RemoveLast(或AddLast和RemoveFirst,具体取决于您的需要)。
或者,您可以使用Queue类(可能实现为链接列表),然后调用Enqueue和Dequeue。