using System.Collections.Generic;
public static void Main()
Dictionary<int, string> _namePositionDictionary = new Dictionary<int, string>();
_namePositionDictionary.Add(1, "Name1");
_namePositionDictionary.Add(2, "Name2");
_namePositionDictionary.Add(4, "Name4");
_namePositionDictionary.Add(3, "Name4");
var searchName = "Name1";
var index = (from a in _namePositionDictionary where a.Value == searchName select a.Key).FirstOrDefault();
Console.WriteLine(index);
var maxValue=_namePositionDictionary.Keys.Max();
Console.WriteLine("Max Key Value:"+maxValue);
var last = _namePositionDictionary.Keys.Last();
_namePositionDictionary.Add(val1, searchName );
var maxValue=_namePositionDictionary.Keys.Max();
Console.WriteLine("Max Key Value:"+maxValue);
var last = _namePositionDictionary.Keys.Last();
_namePositionDictionary.Add(val1, searchName );
catch (ArgumentException)
Console.WriteLine("An element with Key = \"txt\" already exists.");
foreach (KeyValuePair<int, string> kvp in _namePositionDictionary)
Console.WriteLine(string.Format("Key = {0}, Value = {1}", kvp.Key, kvp.Value));