Медлительность в LAZY <T>Перечень - PullRequest
0 голосов
/ 06 ноября 2018
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);
                }
            }
        }
    }
}

Я использую плагин AE Mail от nuget. Проблема в следующем:

AE.Net.Mail.MailMessage mail = Lmail.Value; 

заняло почти 1 секунду для ленивого перечисления. Это так беспокоит при разборе большого количества писем. Есть предложения?

...