在我正在使用的Outlook AddIn中,我使用列表来获取当前文件夹中的所有消息,然后处理它们,然后保存它们。首先,我创建了所有消息的列表,然后我从消息列表中创建了另一个列表,最后我创建了需要移动的第三个消息列表。从本质上讲,它们都是彼此的副本,我这样做是为了组织它。如果我只使用一个列表,它会提高性能吗?我以为列表只是对实际项目的引用。
答案 0 :(得分:3)
如果没有看到您的代码,就无法判断您是创建列表本身的副本还是引用的副本到列表中 - 后者更可取。
另一件需要考虑的事情是,您是否可以使用iterator block从Outlook流式传输邮件。通过使用List<T>
,您当前正在缓冲整个消息序列,这意味着您必须将它们全部保存在内存中,一次处理一个。流式传输消息会减少应用程序的内存压力,因为您只需将每条消息保存在内存中足够长的时间来处理它。
答案 1 :(得分:0)
除非您的列表包含1000万或更多的项目,否则它应该不是问题。
Outlook似乎有一个更小的邮箱问题,所以我会说你非常安全。