using System.Collections.Generic;
public static List<Key<T>> Sort<T>(List<Key<T>> l)
l.Sort((a,b) => a.val.CompareTo(b.val));
public static void Main()
var stringKeys = new List<Key<string>>
new Key<string> { val = 2, key = "two"},
new Key<string> { val = 1, key = "one"},
var sorted = Sort(stringKeys);
foreach(var item in sorted)
Console.WriteLine("val:" + item.val.ToString() + " key:" + item.key);
var intKeys = new List<Key<int>>
new Key<int> { val = 2, key = 20},
new Key<int> { val = 1, key = 10},
var sorted2 = Sort(intKeys);
foreach(var item in sorted2)
Console.WriteLine("val:" + item.val.ToString() + " key:" + item.key.ToString());