CSharp · Console
using System;
using System.Linq;
using System.Collections;
using System.Collections.Generic;
public class Program
{
public static void Main()
{
Dictionary<string, string> delta = new Dictionary<string, string>();
delta.Add("A", "One");
delta.Add("B", "Two");
delta.Add("C", "Three");
// Approach 1 - Dictionary Values are not unique
var lookup = delta.ToLookup(c=>c.Value, c=>c.Key);
Console.WriteLine( ((IEnumerable<string>)lookup["One"]).First());
// Appraoch 2 - Dictionary Values are unique, construct transformed dictionary.
var dict = delta.ToDictionary(kp => kp.Value, kp => kp.Key);
dict["One"].Dump();
}
}