Which serialization API?
For example, DataContractSerializer
can handle dictionaries, especially with the (optional) [CollectionDataContract]
markup. protobuf-net will handle them (below). Others may not…
var data = new Dictionary<string, int>();
data.Add("abc", 123);
data.Add("def", 456);
var clone = Serializer.DeepClone(data);
Console.WriteLine(clone["abc"]);
Console.WriteLine(clone["def"]);
As will BinaryFormatter
:
using (MemoryStream ms = new MemoryStream())
{
var bf = new BinaryFormatter();
bf.Serialize(ms, data);
ms.Position = 0;
clone = (Dictionary<string, int>) bf.Deserialize(ms);
}