using System.Collections.Generic;
using YamlDotNet.Serialization;
public class UniqueKeysDictionary<TKey, TValue> : Dictionary<TKey, TValue>, IDictionary<TKey, TValue>
TValue IDictionary<TKey, TValue>.this[TKey key]
get { return base[key]; }
set { base.Add(key, value); }
public static void Main()
var deserializer = new Deserializer();
var data = deserializer.Deserialize<UniqueKeysDictionary<string, string>>(new StringReader(yaml));
foreach(var entry in data)
Console.WriteLine("{0}: {1}", entry.Key, entry.Value);