我需要從「寫入日誌」功能中捕獲最後5行,以便將其添加到調試電子郵件中。我想不出一個簡單的方法來做到這一點。如何輕鬆地將最後5行添加/保留在某個數組中
我的確認爲我可以有一個數組,其中有5個項目,但我仍然需要洗牌現有項目以添加當前數據。
任何想法?
如果你想使用List(Of LogEntry)
我使用vb.net 2005
我需要從「寫入日誌」功能中捕獲最後5行,以便將其添加到調試電子郵件中。我想不出一個簡單的方法來做到這一點。如何輕鬆地將最後5行添加/保留在某個數組中
我的確認爲我可以有一個數組,其中有5個項目,但我仍然需要洗牌現有項目以添加當前數據。
任何想法?
如果你想使用List(Of LogEntry)
我使用vb.net 2005
使用隊列。如果將新項目添加到隊列時超過6,則將一個項目出列。
,僞代碼是這樣的:
RemoveAt
)。這不是空間或CPU效率,但它肯定會伎倆。
我的確認爲我可以有一個數組,其中有5個項目,但我仍然需要洗牌現有項目以添加當前數據。
是的,您可以移動數組內容來爲新項目騰出空間,丟棄最舊的項目。
更好的辦法是使用一個雙鏈表,它可以讓你在列表的開頭添加一個項目,並從列表的末尾刪除項目(反之亦然),而不需要觸及其他元素。
在.NET中,您需要LinkedList類,然後根據需要使用AddFirst和RemoveLast(或AddLast和RemoveFirst)。
或者,您可以使用Queue類(可能實現爲鏈接列表),然後調用Enqueue和Dequeue。
您是否熟悉「隊列」數據結構? – Gabe 2010-11-09 07:04:34