using System; using System.Collections.Generic; public class Example { private static int F (string x, string y) // Функція порівняння { if (x == null) { if (y == null) return 0; // x == null == y else return -1; // x == null != y } else { if (y == null) return 1; // x != null == y else { int retval = x.Length.CompareTo(y.Length); // Порівняння довжин рядків: if (retval != 0) return retval; // довший рядок вважати більшим else return x.CompareTo(y); // традиційне порівняння рядків } } } public static void Main() { List l = new List() {"2222222","55555","",null,"6666","1111"}; Show("\nПочатковий масив:",l); l.Sort(); Show("\nПісля упорядкування як усталено:",l); l.Sort(F); Show("\nПісля упорядкування з F:",l); } private static void Show (string t, List l) { Console.WriteLine(t); foreach (string s in l) { if (s == null) Console.Write(" \"null\","); else Console.Write(" \"{0}\",", s); } Console.WriteLine(); } }