Wp7的Contacts遍历

今天做到Contacts的遍历,网上很多获取手机通讯录的方法,这里就不多说了。

这里主要是介绍每个联系的PhoneNumbers的遍历:

contacts.SearchCompleted += (s, args) =>
{
     foreach (var contact in args.Results)
     {
           contactList.Add(contact);

          //这里的contactList自己定义一个,List类型,ObservableCollection类型都可以。黑色字体不重要。

     -------------华丽分割线,下面是我要说的--------------
           IEnumerator pns = contact.PhoneNumbers.GetEnumerator();

          //GetEnumerator方法。该方法返回一个实际的枚举器(enumerator)对象。
           while (pns.MoveNext())    //MoveNext() 将枚举数推进到集合的下一个元素。
           {
                  ContactPhoneNumber cp = (ContactPhoneNumber)pns.Current;

                 //Current获取集合中的当前元素。这里 的cp一定要强制转换一下,因为pns的元素是object类型的,不转换,就得不到PhoneNumber、Kind等属性值啦。。。
                   Debug.WriteLine(contact+"--"+cp.PhoneNumber+"--"+cp.Kind);
           }
      }
};
contacts.SearchAsync(null, FilterKind.None, null);

posted @ 2012-06-13 16:33  sognoNL  阅读(357)  评论(0编辑  收藏  举报