using System.Collections.Concurrent;
using System.Xml.Serialization;
public static void Main()
var dict = CreateDictionary();
var xml = SerializeDictionary(dict);
var deserializedDict = JsonConvert.DeserializeObject<ConcurrentDictionary<string, string>>(xml);
Console.WriteLine(deserializedDict["key1"]);
Console.WriteLine(deserializedDict["key2"]);
Console.WriteLine(deserializedDict["key3"]);
Console.WriteLine(deserializedDict["key4"]);
public static ConcurrentDictionary<string, string> CreateDictionary()
var concurrentDict = new ConcurrentDictionary<string, string>();
public static void FillDemoData(ConcurrentDictionary<string, string> d)
d.TryAdd("key1", "value1");
d.TryAdd("key2", "value2");
d.TryAdd("key3", "value3");
d.TryAdd("key4", "value4");
public static string SerializeDictionary(ConcurrentDictionary<string, string> d)
return JsonConvert.SerializeObject(d);