People+ For Windows Phone

Recently, I’ve released a Windows Phone application to explore and use contact information.

In this application I used components and/or guidance from:

In future posts, I’ll be showing some tips, tricks and components I’ve used in this application.

People+ for Windows Phone
People+ for Windows Phone

Explore and use your contacts’ information.

Search contacts by:

  • name
  • phone number
  • e-mail address
  • physical address
  • websites
  • company
  • job title
  • significant others
  • children
  • notes

* Trial limitations The trial version is fully functional but will show a purchase reminder and might show ads.

* Application limitations

The Windows Phone system imposes some limitations on application developers.

It is not possible to:

  • access twitter information
  • access linkedin information
  • uniquely identify the contact
  • change or provide access to change the contact information

* Privacy statement This application does not make any use of the contacts information other than displaying and searching it. When ads are displayed, however, device information might be sent to the ad provider (smaato Privacy Policy).

Hash Function Added To The PredicateEqualityComparer

Sometime ago I wrote a predicate equality comparer to be used with LINQ’s Distinct operator.

The Distinct operator uses an instance of an internal Set class to maintain the collection of distinct elements in the source collection which in turn checks the hash code of each element (by calling the GetHashCode method of the equality comparer) and only if there’s already an element with the same hash code in the collection calls the Equals method of the comparer to disambiguate.

At the time I provided only the possibility to specify the comparison predicate, but, in some cases, comparing a hash code instead of calling the provided comparer predicate can be a significant performance improvement, I’ve added the possibility to had a hash function to the predicate equality comparer.

You can get the updated code from the PauloMorgado.Linq project on CodePlex,