目前我有一個用戶一個簡單的類,就像如下:最近3次發送的消息是最新的,而只保存最新的3條消息?
public class Users
{
public int ID { get; set; }
public string Name { get; set; }
public Groups Access { get; set; }
public IPAddress IP { get; set; }
public bool IsProtected { get; set; }
public bool IsInvisible { get; set; }
}
現在我想用來存儲用戶過去3發送的消息,並能比較,如果用戶新的最後一條消息與任何先前的配襯3存儲消息,如果不從列表中刪除最舊的消息並添加新消息。
我是用字符串列表去最初想的簡單了這樣的事情:
bool msg_match = user.LastMessages.Any(x => String.Equals(x, msg, StringComparison.OrdinalIgnoreCase));
if (msg_match)
{
// punish user
user.LastMessages.Clear();
}
else
{
// some way to remove oldest message and leave only the 3 newest messages
user.LastMessages.Add(mensagem);
}
以上的方法做工作,但我對如何挑選最舊的郵件被刪除一個有點無能導致最後的最新消息,也不知道這種方法是否可以或者如果有更好的方法來解決這個問題?
PS:我的標題聽起來相當混亂我想如果你對標題有更好的主意讓我知道或改變它請。
呃,哪裏是LastMesssages定義? – Amy
在公共列表 LastMessages =新列表();'就像我提到的,我想存儲它爲每個用戶,所以我會存儲它的用戶類與給定的用戶,它被創建。 –
Prix