c# - LAZY 中的缓慢枚举
问题描述
ic = new ImapClient("imap.yandex.com", Email, email.Password, AuthMethods.Login, 993, true);
var mailMessage = ic.SearchMessages(SearchCondition.From("somemail@gmail.com"), false, true).ToList();
if (mailMessage.Count > 0)
{
foreach (Lazy<AE.Net.Mail.MailMessage> Lmail in mailMessage)
{
AE.Net.Mail.MailMessage mail = Lmail.Value;
//SendSmtpMail(mail.Subject, ReplyData, Email, Password, mail.From,mail.MessageID);
if (mail != null)
{
if (mail.To.FirstOrDefault(x => x.Equals(email.EmailName)) != null)
{
if (mail.Body.IndexOf("Attachment Name:", StringComparison.OrdinalIgnoreCase) > -1)
{
Code= Between(mail.Body, "to:", "\r");
}
else
{
_msg.Add("CODE NOT FOUND..." + Environment.NewLine);
}
}
}
}
}
我正在使用 nuget 的 AE Mail 插件。问题是,以下行:
AE.Net.Mail.MailMessage mail = Lmail.Value;
惰性枚举花费了将近 1 秒。这在解析大量邮件时非常麻烦。有什么建议么?
解决方案
推荐阅读
- arduino - 如何将 Arduino Mega 2560 ADC 采样频率设置为 40 Hz
- php - 页面在 codeigniter 中不起作用,显示页面不起作用
- javascript - JavaScript 中的类型提示与循环引用
- spring-boot - 使用 Spring Boot Actuator 计算每秒的请求数
- ckeditor - “ckeditor”命名空间中没有定义命令
- c# - 将泛型与 GraphType 一起使用
- docker-compose - docker 容器 A 可以使用什么 URL 来访问另一个 docker 容器 B(相同的开发机器,不同的项目)
- excel - 如何使用 Excel VBA 打开 URL 列表并将每个 URL 的屏幕截图保存在我的辅助监视器上
- pandas - Pandas 查询无法识别全局环境中定义的列表
- typescript - 添加 vuex persist 插件后,我无法在路由器中存储