public void ComparerGenericExample() { var zealot = new SC2Unit { Name = "Zealot", Damage = 20, Speed = 10 }; var marine = new SC2Unit { Name = "Marine", Damage = 10, Speed = 10 }; var viper = new SC2Unit { Name = "Viper", Damage = 0, Speed = 20 }; var tab = new[] { zealot, marine, viper }; var comparer = new UnitComparer(); Console.WriteLine("Before sort: "); foreach (var item in tab) Console.WriteLine(item.Name); Console.WriteLine("Sort by Damage"); comparer.SortBy = UnitComparer.CompareField.Damage; Array.Sort(tab, comparer); foreach (var item in tab) Console.WriteLine(item.Name); Console.WriteLine("Sort by Speed"); comparer.SortBy = UnitComparer.CompareField.Speed; Array.Sort(tab, comparer); foreach (var item in tab) Console.WriteLine(item.Name); Console.ReadKey(); }
public void ComparableGenericExample() { var zealot = new SC2Unit { Name = "Zealot" }; var marine = new SC2Unit { Name = "Marine" }; var viper = new SC2Unit { Name = "Viper" }; var tab = new[] { zealot, marine, viper }; Console.WriteLine("Before sort: "); foreach (var item in tab) Console.WriteLine(item.Name); Array.Sort<SC2Unit>(tab); Console.WriteLine("After sort: "); foreach (var item in tab) Console.WriteLine(item.Name); Console.ReadKey(); }