static void Main(string[] args)
        {
            List <string> times = new List <string>();

            times.Add("São Paulo");
            times.Add("Santos");
            times.Add("Corinthians");
            times.Add("Palmeiras");
            Mostrar(times);

            timesComparer dc = new timesComparer();

            Console.WriteLine("\nSort com comparer:");
            times.Sort(dc);
            Mostrar(times);

            ProcurarEAdicionar(times, "Flamengo", dc);
            Mostrar(times);

            ProcurarEAdicionar(times, "Fluminense", dc);
            Mostrar(times);

            ProcurarEAdicionar(times, "Vasco", dc);
            Mostrar(times);

            ProcurarEAdicionar(times, null, dc);
            Mostrar(times);
        }
        private static void ProcurarEAdicionar(List <string> list, string insert, timesComparer dc)
        {
            Console.WriteLine("\nBinarySearch e Inserção \"{0}\":", insert);

            int index = list.BinarySearch(insert, dc);

            if (index < 0)
            {
                list.Insert(~index, insert);
            }
        }