我的应用程序正在存储联系信息。用户可以通过DataGridView等编辑它们。我通过可序列化的类保存这些联系信息,如下所示:
[Serializable]
public class Contact : INotifyPropertyChanged
{
private string _fName;
private string _lName;
private string _pNumber;
public event PropertyChangedEventHandler PropertyChanged;
public Contact(string firstName, string lastName, string phoneNumber, bool fromOutlook){...}
public Contact(){...}
public string FirstName{...}
public string LastName{...}
public string PhoneNumber{...}
private void NotifyPropertyChanged(string name){...}
}
但是我担心它不是最有效/最好的格式(如果我只是序列化这个类)。 有没有人有类似的任务并以更好的方式解决了它?
答案 0 :(得分:3)
我强烈推荐VCard,原因如下。
1。)联系人的通用协议。使用其他兼容VCard的应用程序使您的数据立即消耗殆尽。像MS Outlook。
2.)可以在手机上传输。
3.。)可用于同步。 [查看SyncML Contacts Sync。]
4.。)您不需要自己编写VCard解析器。只需查看here 链接文字:http://www.codeproject.com/KB/dotnet/vCardReader.aspx
5.)可序列化。
答案 1 :(得分:1)
地址簿条目有许多相对标准的格式(vCard可以想到);序列化到其中一个可能是你最好的选择,如果你已经决定使用数据库了。
答案 2 :(得分:1)
如果您确定您的应用程序是唯一需要使用这些序列化类的应用程序,则BinaryFormatter序列化程序将非常紧凑地存储它们。如果您可能有其他软件实用程序可以从读/写这些内容中受益,我建议您使用SoapFormatter或XML Serializer将它们转储为XML。
答案 3 :(得分:1)
使用Serializable
没有错;这是一个让对象进出磁盘的好方法。如果您担心格式是人类可读的,请改用XmlSerialize
r。