根据文档,当我从地址簿中删除联系人时,会将其移至“已删除”文件夹。假设有一个懒惰的程序员(当然不是你和我),他们不想将代码编写到更新每个Outlook启动时的联系人,而只是删除所有来自通讯录的联系人然后重新填充它(假设没有那么多的用户填充,并且每天都会启动Outlook很多次),所以性能不是问题但是数量越来越大已删除文件夹中的条目是。
Outlook是否能够整齐地管理删除存储,还是我需要,hrmp ..., 懒惰的程序员需要担心吗?
所述程序员可能会使用看起来就像这样的代码。
Outlook.Folder contacts =
this.Application.Session.GetDefaultFolder(
Outlook.OlDefaultFolders.olFolderContacts) as Outlook.Folder;
Outlook.Folder addressBook = contacts.Folders["lazy"] as Outlook.Folder;
while (addressBook.Items.Count > 0)
addressBook.Items.OfType<Outlook.ContactItem>().Last().Delete();
如果他需要担心,他可能想删除删除文件夹中的删除,当然,仅那些被他的软件删除的删除。是否有一种流畅的方式来删除 - 删除联系人?
答案 0 :(得分:1)
我只是每次都重新创建Folder
并避免逐个ContactItem
慢的删除。当您删除Folder
时,它不会在已删除的项目中保留副本。一个Folder
删除&amp;保存将比大量项目删除更快。
Outlook.Folders contactFolders = contacts.Folders;
if (contactFolders.Cast<Outlook.Folder>()
.Where(c => c.Name == "My AB").Count() > 0)
contactFolders["My AB"].Delete();