public string nickname { set; get; }

The nickname of the contact.

The nickname is the name that the contact chose for himself. This is different from AliasDetails.alias as aliases can be chosen by the user and not by the contacts themselves.

Consequently, setting the nickname only makes sense in the context of an address book when updating the information a contact has specified about themselves.

The nickname must not be null: the empty string represents an unset nickname.