static void Main(string[] args) { string[] line = { "Vasian", "Petia", "Misha Vlasov", "Kolia123", "Kolia12", "Kolia" }; SortingFunc func1 = new SortingFunc(SortingLinesByABC); string[] resultLine = SortingLinesByLength(func1, line); foreach (var p in resultLine) { Console.WriteLine(p); } }
static void Main(string[] args) { EndSorting += MessageEndSorting; string[] line = { "Vasian", "Petia", "Misha Vlasov", "Kolia123", "Kolia12", "Kolia" }; SortingFunc func1 = new SortingFunc(SortingLinesByLengthAndABC); string[] result = func1?.Invoke(line); Thread thread1 = new Thread(() => SortingLinesByLengthAndABC(line)); thread1.Start(); foreach (var r in result) { Console.WriteLine(r); } }
private static string[] SortingLinesByLength(SortingFunc sortFunc, string[] lines) { string line = ""; lines = sortFunc?.Invoke(lines); for (int i = 0; i < lines.Length; i++) { for (int j = 0; j < lines.Length - 1 - i; j++) { if (lines[j + 1].Length < lines[j].Length) { line = lines[j]; lines[j] = lines[j + 1]; lines[j + 1] = line; } } } return(lines); }