-2

foreachこれをParallel.ForEach()に変換するにはどうすればよいですか?

dynamicOutlook の連絡先を取得するために変数を使用しています。

何か助けはありますか?

List<ServiceReference1.Addressbooks> list = new List<ServiceReference1.Addressbooks>();
// dynamic Contacts = outlook.GetNamespace("Mapi").GetDefaultFolder(10);
try
{
    dynamic Contacts = outlook.Session.GetDefaultFolder(10);
    foreach (var items in Contacts.items)
    {
        try
        {
            ServiceReference1.Addressbooks ad = new ServiceReference1.Addressbooks();
            ad.FirstName = (string)items.FirstName;
            ad.JobTitle = (string)items.JobTitle;
            ad.MobileTelephoneNumber = (string)items.MobileTelephoneNumber;
            ad.BusinessTelephoneNumber = (string)items.BusinessTelephoneNumber;
            ad.BusinessFaxNumber = (string)items.BusinessFaxNumber;
            ad.Email1Address = (string)items.Email1Address;
            ad.Body = items.Body.Length > 999 ? (items.Body).Substring(0, 999) : items.Body;
            ad.CompanyName = (string)items.CompanyName;
            ad.LastModificationTime = (DateTime)items.LastModificationTime;
            list.Add(ad);
        }
        catch (Exception exp)
        {
            throw exp;
        }
    }
}
catch
{
}
return list;

よろしく、 Prasanth.k

4

1 に答える 1

0

わかりました、このコードを試して、問題をお知らせください

Parallel.ForEach(Contacts.items, items =>
            {
                try
                {
                    ServiceReference1.Addressbooks ad = new ServiceReference1.Addressbooks();
                    ad.FirstName = (string)items.FirstName;
                    ad.JobTitle = (string)items.JobTitle;
                    ad.MobileTelephoneNumber = (string)items.MobileTelephoneNumber;
                    ad.BusinessTelephoneNumber = (string)items.BusinessTelephoneNumber;
                    ad.BusinessFaxNumber = (string)items.BusinessFaxNumber;
                    ad.Email1Address = (string)items.Email1Address;
                    ad.Body = items.Body.Length > 999 ? (items.Body).Substring(0, 999) : items.Body;
                    ad.CompanyName = (string)items.CompanyName;
                    ad.LastModificationTime = (DateTime)items.LastModificationTime;
                    list.Add(ad);
                }
                catch (Exception exp)
                {
                    throw exp;
                }
            });
于 2013-08-07T09:36:26.480 に答える