C# 使用大型列表

C# 使用大型列表,c#,performance,list,C#,Performance,List,在我正在使用的Outlook加载项中,我使用列表获取当前文件夹中的所有邮件,然后处理它们,然后保存它们。首先,我创建一个所有消息的列表,然后从消息列表中创建另一个列表,最后创建第三个需要移动的消息列表。本质上,它们都是彼此的复制品,我就是这样组织的。如果我只使用一个列表,它会提高性能吗?我认为列表只是对实际项目的引用。如果没有看到您的代码,就无法判断您是创建列表本身的副本,还是创建列表引用的副本,后者更可取 另一个要考虑的问题是,是否可以使用Outlook从Outlook流消息。通过使用列表您当

在我正在使用的Outlook加载项中,我使用列表获取当前文件夹中的所有邮件,然后处理它们,然后保存它们。首先,我创建一个所有消息的列表,然后从消息列表中创建另一个列表,最后创建第三个需要移动的消息列表。本质上,它们都是彼此的复制品,我就是这样组织的。如果我只使用一个列表,它会提高性能吗?我认为列表只是对实际项目的引用。

如果没有看到您的代码,就无法判断您是创建列表本身的副本,还是创建列表引用的副本,后者更可取


另一个要考虑的问题是,是否可以使用Outlook从Outlook流消息。通过使用

列表
您当前正在缓冲整个消息序列,这意味着您必须将它们全部保存在内存中,一次处理一个消息。流式传输消息将减少应用程序的内存压力,因为您只需在内存中保存每条消息足够长的时间即可对其进行处理。

如果看不到您的代码,就无法判断您是在创建列表本身的副本,还是在创建列表引用的副本,最好是后者


另一个要考虑的问题是,是否可以使用Outlook从Outlook流消息。通过使用

列表
您当前正在缓冲整个消息序列,这意味着您必须将它们全部保存在内存中,一次处理一个消息。流式传输消息将减少应用程序的内存压力,因为您只需在内存中保存每条消息足够长的时间即可对其进行处理。

除非您的列表包含1000万项或更多项,否则这应该不是问题


Outlook似乎有一个小得多的邮箱问题,所以我想说您非常安全。

除非您的列表包含1000万个或更多项目,否则这应该不会是一个问题

Outlook似乎有一个小得多的邮箱问题,所以我想说你是非常安全的