foreach ループを含む次のコードを合理化し、反復を最小限に抑えたり、LINQ とコレクションが反復ごとに作成されるため、パフォーマンスを向上させたいと考えています。
foreach (Contact contact in Contacts) // phone contacts, around 500-1000
{
IEnumerable<ContactEmailAddress> emails = contact.EmailAddresses; // each has multiple emails
foreach (Friend parseUser in parseUsers) // could be many thousands
{
if (emails.Where(e => e.EmailAddress == parseUser.Email).ToList().Count > 0)
{
parseUser.AddContact(contact); // function call
verifiedUsers.Add(parseUser); // add to my new aggregated list
}
}
}
ありがとう。