我有一個SortedList,關鍵是Contact.name和值,是一個對象,Contact。我將這個列表寫入一個文件,BinaryWriter和我沒有任何麻煩,但現在我想讀這個列表,之後,尋找一個特定的聯繫人。我不知道該怎麼做。我認爲我必須閱讀文件,然後查找聯繫人,但是如何使用保存在文件中的二進制代碼填充SortedList?如何從文件中讀取SortedList?
1
A
回答
1
下面是關於如何做一個簡單的例子,兩者讀取和二進制文件編寫。
static void Main(string[] args)
{
WriteContacts(new List<Contact>(new []{ new Contact { ID = 1, Name = "Juan", Age = 34 }, new Contact { Name = "Pedro", Age = 23, ID = 2 } }));
FindContactInFile("Juan");
FindContactInFile("Mario");
Console.ReadKey();
}
private static void FindContactInFile(string name)
{
IFormatter formatter = new BinaryFormatter();
using (Stream s = new FileStream("contacts.bin", FileMode.Open, FileAccess.Read, FileShare.Read))
{
var contacts = (List<Contact>)formatter.Deserialize(s);
var person = contacts.Where(x=>x.Name==name).FirstOrDefault();
if (person != null)
Console.WriteLine("Persona encontrada: {0}", person.Name);
else
Console.WriteLine("{0} no fue encontrado en el archivo.", name);
}
}
private static void WriteContacts(List<Contact> contacts)
{
IFormatter formatter = new BinaryFormatter();
using (Stream s = new FileStream("contacts.bin", FileMode.Create, FileAccess.Write, FileShare.None))
{
formatter.Serialize(s, contacts);
}
}
}
[Serializable]
class Contact
{
public int ID { get; set; }
public string Name { get; set; }
public int Age { get; set; }
}
在那裏可以改進很多東西,比如每次搜索某人時都不讀取整個文件。或者不一次讀取整個文件以開始......無論如何,這裏的關鍵概念是,爲了將某些內容存儲在二進制文件中,您需要序列化該對象。爲此,您可以使用.NET提供的BinaryFormatters之一(如上所述)並從文件中讀回,您只需做相反的事情。
1
聽起來像你想BinaryReader
這將採取從BinaryWriter
文件輸出並反序列化到您的原始類型。
相關問題
- 1. 如何從文件中讀取,然後繼續從cin讀取?
- 2. 如何從url中讀取csv文件?
- 3. 如何從文件中讀取幻數?
- 4. 如何從2個文件中讀取
- 5. 如何從jar中讀取xml文件
- 6. 如何從Gem中讀取文件(.yml)
- 7. 如何從文件中讀取
- 8. Unix的:如何從文件中讀取
- 9. 如何從文件中讀取html?
- 10. 如何從文件中讀取字節
- 11. 如何從文件中讀取環境
- 12. 如何從文件中讀取變量
- 13. 如何從文件中讀取?
- 14. 如何從目錄中讀取文件
- 15. 如何從文件中讀取const char *
- 16. 如何從文件中讀取值。 tokenizer
- 17. 如何從PuTTY中讀取文件
- 18. 如何從文件中讀取unsigned short?
- 19. 如何從文件中讀取方法
- 20. 如何從jQuery中讀取CSS文件
- 21. 如何從文件中讀取
- 22. 如何從ocaml中的文件讀取?
- 23. 如何從C++中的文件讀取
- 24. 如何從json文件中讀取值
- 25. 如何從JavaScript文件中讀取javascript?
- 26. 如何從excel文件中讀取
- 27. 如何從JSON文件中讀取值?
- 28. 如何從文件中讀取位?
- 29. 如何從SML中的文件讀取?
- 30. 如何從文件中讀取
這聽起來像一本詞典,你有任何代碼? – Derek 2013-02-28 16:22:34
這是一個帶有電話號碼,地址的PDA ... – Lindsay 2013-02-28 16:26:12