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);
            }
        }
Example #2
0
        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);
        }