title: Best way to manage and serialize objects
body: <p>I'm writing one C# application to improve my basic understanding of .NET, and I would like to know what is the best way to do what I need for.
  Best means for me: simple to code and efficient to use.</p>
  
  <p>My application have to work with objects (of the same type, eg. AAA), and it creates different collections of them... so I'll have a Collection of Collections of AAA.</p>
  
  <p>My main needs are:
  - to work with this main collection in memory and to persist (serialize) it on disk;
  - to deserialize from disk into memory;</p>
  
  <p>Another need can be:
  - to "query" its data (eg. "give me all the collection in which contained objects has a specified value of a field").</p>
  
  <p>Thank you for you indications.</p>