日斋
日新月异

static void ListDemo2()
        {
            Racer graham = new Racer("Graham", "Hill", "UK", 14);
            Racer emerson = new Racer("Emerson", "Fittipaldi", "Brazil", 14);
            Racer mario = new Racer("Mario", "Andretti", "USA", 12);

            List<Racer> racers = new List<Racer>(20) { graham, emerson, mario };
            Console.WriteLine(racers.Capacity);
        }
        static void ListDemo()
        {
            List<Racer> racers = new List<Racer>(20);

            Racer graham = new Racer("Graham", "Hill", "UK", 14);
            racers.Add(graham);
            Racer emerson = new Racer("Emerson", "Fittipaldi", "Brazil", 14);
            racers.Add(emerson);
            Racer mario = new Racer("Mario", "Andretti", "USA", 12);
            racers.Add(mario);
            racers.Add(new Racer("Michael", "Schumacher", "Germany", 91));
            racers.Add(new Racer("Mika", "Hakkinen", "Finland", 20));

            racers.AddRange(new Racer[] { new Racer("Niki", "Lauda", "Austria", 25), new Racer("Alain", "Prost", "France", 51) });

            List<Racer> racers2 = new List<Racer>(20) { graham, emerson, mario };
            Console.WriteLine(racers.Capacity);

            racers.Insert(3, new Racer("Phil", "Hill", "USA", 3));

            for (int i = 0; i < racers.Count; i++)
            {
                Console.WriteLine(racers[i].ToString());
            }

 

    foreach (Racer r in racers)
         {
            Console.WriteLine(r);
         }

         //racers.ForEach(
         //   delegate(Racer r)
         //   {
         //      Console.WriteLine(r);
         //   });

          racers.ForEach(r => Console.WriteLine("{0:A}", r));

         int index1 = racers.IndexOf(mario);

         int index2 = racers.FindIndex(new FindCountry("Finland").FindCountryPredicate);

         //int index3 = racers.FindIndex(
         //   delegate(Racer r)
         //   {
         //      return r.LastName == "Rindt";
         //   });
          int index3 = racers.FindIndex(r => r.LastName == "Rindt");

         //Racer racer = racers.Find(
         //   delegate(Racer r)
         //   {
         //      return r.FirstName == "Niki";
         //   });

          Racer racer = racers.Find(r => r.FirstName == "Niki");

         //List<Racer> bigWinners = racers.FindAll(
         //   delegate(Racer r)
         //   {
         //      return r.Wins > 20;
         //   });
          List<Racer> bigWinners = racers.FindAll(r => r.Wins > 20);

         foreach (Racer r in bigWinners)
      {
             Console.WriteLine("{0:A}", r);  
      }


        

         Racer j = new Racer("Jochen", "Rindt", "Austria", 6);
         if (racers.Remove(j))
         {
            Console.WriteLine("removed");
         }

         //List<Racer> w = racers.FindAll(
         //   delegate(Racer r)
         //   {
         //      return r.Wins > 15;
         //   });
         List<Racer> w = racers.FindAll(r => r.Wins > 15);
         Console.WriteLine("Won more than 15 races");
         w.ForEach(Console.WriteLine);

         racers.Sort();

         Console.WriteLine("sorted...");
         racers.ForEach(Console.WriteLine);

         racers.Sort(new RacerComparer(RacerComparer.CompareType.Country));


         racers.ForEach(Console.WriteLine);

         //List<Person> persons = racers.ConvertAll<Person>(
         //   delegate(Racer r)
         //   {
         //      return new Person(r.FirstName + " " + r.LastName);
         //   });
          List<Person> persons = racers.ConvertAll<Person>(
              r => new Person(r.FirstName + " " + r.LastName));

          racers.Sort((r1, r2) => r2.Wins.CompareTo(r1.Wins));


         //racers.ForEach(Console.WriteLine);
         //racers.Sort();
         //racers.ForEach(Console.WriteLine);
         //racers.Sort(delegate(Racer r1, Racer r2)
         //{
         //   return r2.Wins.CompareTo(r1.Wins);
         //});
         //racers.ForEach(Console.WriteLine);


        }

posted on 2010-10-11 18:37  李承隆  阅读(1683)  评论(0)    收藏  举报