我想根据未记录在数据库中的Uid来阅读电子邮件。如何给SearchQuery仅查找那些未保存在数据库中的Uid。在下面的代码中,我不想读取6504 uid,因为它存在于数据库中。
var range = new UniqueIdRange(new UniqueId((uint)6504), UniqueId.MaxValue);
foreach (var uid in inbox.Search(!range, SearchQuery.All))
{
var message = inbox.GetMessage(uid);
}
请帮忙吗?
答案 0 :(得分:0)
您需要使用SearchQuery.Not()表达式:
var knownUids = new UniqueIdSet ();
knownUids.Add (new UniqueId ((uint) 6504));
foreach (var uid in inbox.Search (SearchQuery.Not (SearchQuery.Uids (knownUids))) {
var message = inbox.GetMessage (uid);
}