.NET Fiddle

CSharp · Console

/Program.cs

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();
	}
}
;