如何使用MonoTouch从iPhone联系人获取手机号码和工作号码?

时间:2011-03-29 10:17:14

标签: c# iphone xamarin.ios contacts

如何使用MonoTouch c#从iPhone联系人获取手机号码和工作号码?我用过这段代码,

ABMultiValue<String> phoneMV =  person.GetPhones();
String[] phoneval = phoneMV.GetValues();
for(int i = 0; i< phoneval.Length; i++) {
Console.WriteLine(phoneval[i]); 
}

但它会打印所有联系号码的值。如何从联系人获取特定属性?例如,我需要移动和工作号码,家庭和工作电子邮件ID。我不想要所有的价值观。怎么做到这一点?

1 个答案:

答案 0 :(得分:3)

ABMultiValue<T>ABMultiValueEntry<T>值的集合。电话号码(工作,家庭等)的类型存储在ABMultiValueEntry<T>.Label属性中,您可以将其与例如ABLabel.Work

IEnumerable<ABMultiValueEntry<string>> workPhoneEntries = person.GetPhones()
        .Where(p => p.Label == ABLabel.Work);
IEnumerable<string> workNumbers = workPhoneEntries.Select(p => p.Value);