using System;
using System.Diagnostics;
using System.Linq;
public class Test
{
public static void Main()
{
int a = 1, b = 5, c = 3;
var arr = new[] { a, b, c };
int[] ints = { a, b, c };
var sw = new Stopwatch();
sw.Start();
Array.Sort(arr);
Array.Reverse(arr);
Console.WriteLine("{0}, {1}, {2}", arr[0], arr[1], arr[2]);
sw.Stop();
Console.WriteLine("Took {0} Ticks...", sw.ElapsedTicks);
sw.Reset();
arr = new[] { a, b, c };
sw.Start();
Array.Sort(arr, new Comparison<int>((x, y) => y.CompareTo(x)));
Console.WriteLine("{0}, {1}, {2}", arr[0], arr[1], arr[2]);
sw.Stop();
Console.WriteLine("Took {0} Ticks...", sw.ElapsedTicks);
sw.Start();
string ordered = string.Join(",", ints.OrderByDescending(i => i));
Console.WriteLine(ordered);
sw.Stop();
Console.WriteLine("Took {0} Ticks...", sw.ElapsedTicks);
}
}
dXNpbmcgU3lzdGVtOwp1c2luZyBTeXN0ZW0uRGlhZ25vc3RpY3M7CnVzaW5nIFN5c3RlbS5MaW5xOwoKcHVibGljIGNsYXNzIFRlc3QKewoJcHVibGljIHN0YXRpYyB2b2lkIE1haW4oKQoJewoJCWludCBhID0gMSwgYiA9IDUsIGMgPSAzOwoJCXZhciBhcnIgPSBuZXdbXSB7IGEsIGIsIGMgfTsKCQlpbnRbXSBpbnRzID0geyBhLCBiLCBjIH07CgkJdmFyIHN3ID0gbmV3IFN0b3B3YXRjaCgpOwoJCQoJCXN3LlN0YXJ0KCk7CgkJQXJyYXkuU29ydChhcnIpOwogICAgCUFycmF5LlJldmVyc2UoYXJyKTsKICAgIAlDb25zb2xlLldyaXRlTGluZSgiezB9LCB7MX0sIHsyfSIsIGFyclswXSwgYXJyWzFdLCBhcnJbMl0pOwogICAgCXN3LlN0b3AoKTsKICAgIAkKICAgIAlDb25zb2xlLldyaXRlTGluZSgiVG9vayB7MH0gVGlja3MuLi4iLCBzdy5FbGFwc2VkVGlja3MpOwogICAgCXN3LlJlc2V0KCk7CiAgICAJCiAgICAJYXJyID0gbmV3W10geyBhLCBiLCBjIH07CiAgICAJCiAgICAJc3cuU3RhcnQoKTsKICAgIAlBcnJheS5Tb3J0KGFyciwgbmV3IENvbXBhcmlzb248aW50PigoeCwgeSkgPT4geS5Db21wYXJlVG8oeCkpKTsKICAgIAlDb25zb2xlLldyaXRlTGluZSgiezB9LCB7MX0sIHsyfSIsIGFyclswXSwgYXJyWzFdLCBhcnJbMl0pOwogICAgCXN3LlN0b3AoKTsKICAgIAlDb25zb2xlLldyaXRlTGluZSgiVG9vayB7MH0gVGlja3MuLi4iLCBzdy5FbGFwc2VkVGlja3MpOwogICAgCQogICAgCXN3LlN0YXJ0KCk7CiAgICAJc3RyaW5nIG9yZGVyZWQgPSBzdHJpbmcuSm9pbigiLCIsIGludHMuT3JkZXJCeURlc2NlbmRpbmcoaSA9PiBpKSk7CiAgICAJQ29uc29sZS5Xcml0ZUxpbmUob3JkZXJlZCk7CiAgICAJc3cuU3RvcCgpOwogICAgCUNvbnNvbGUuV3JpdGVMaW5lKCJUb29rIHswfSBUaWNrcy4uLiIsIHN3LkVsYXBzZWRUaWNrcyk7Cgl9Cn0=