private static void SortByStringLength(string [] stringArray, EqualLengthString compare) { // Сортировка методом пузырька for (int i = 0; i < stringArray.Length; i++) { for (int j = i + 1; j < stringArray.Length; j++) { if (compare(stringArray[i], stringArray[j])) { string tempString = stringArray[i]; stringArray[i] = stringArray[j]; stringArray[j] = tempString; } } } }
static void SortByStringLength(string[] stringArray, EqualLengthString compare) { // Сортировка методом пузырька for (int i = 0; i < stringArray.Length; i++) { for (int j = i + 1; j < stringArray.Length; j++) { if (compare(stringArray[i], stringArray[j])) { string tempString = stringArray[i]; stringArray[i] = stringArray[j]; stringArray[j] = tempString; } } Console.WriteLine("Сортировка в основном потоке, итерация " + i); } }
public static void SortByStringLength(string[] stringArray, EqualLengthString compare) { if (stringArray == null || compare == null) { throw new ArgumentNullException(); } // Сортировка методом пузырька for (int i = 0; i < stringArray.Length; i++) { for (int j = i + 1; j < stringArray.Length; j++) { if (compare(stringArray[i], stringArray[j])) { string tempString = stringArray[i]; stringArray[i] = stringArray[j]; stringArray[j] = tempString; } } Console.WriteLine("Сортировка в отдельном потоке, итерация " + i); } SortFinished?.Invoke(stringArray, EventArgs.Empty); }
public static void CreateThreadForSorting(string[] stringArray, EqualLengthString compare) { Thread thread = new Thread(() => SortByStringLength(stringArray, compare)); thread.Start(); }