GreenRock Software Code Comment

February 19, 2008

C# Generic Lists

Filed under: Generic Lists — greenrocksoftware @ 8:29 am

using System;

using System.Collections.Generic;

using System.Text;

 

namespace Utilities

{

    class GenericList

    {

        public GenericList()

        {

            List<Person> people = new List<Person>();

 

            people.Add(new Person(50, “Fred”));

            people.Add(new Person(30, “John”));

            people.Add(new Person(26, “Andrew”));

            people.Add(new Person(24, “Xavier”));

            people.Add(new Person(5, “Mark”));

            people.Add(new Person(6, “Cameron”));

 

            // Unsorted list

            people.ForEach(delegate(Person p)

            {

                Console.WriteLine(String.Format(“{0} {1}”, p.age, p.name));

            });

 

            // Find

            List<Person> young = people.FindAll(delegate(Person p)

            {

                return p.age < 25;

            });

            young.ForEach(delegate(Person p)

            {

                Console.WriteLine(String.Format(“{0} {1}”, p.age, p.name));

            });

 

            // Sort by name

            people.Sort(delegate(Person p1, Person p2)

            {

                return p1.name.CompareTo(p2.name);

            });

            people.ForEach(delegate(Person p)

            {

                Console.WriteLine(String.Format(“{0} {1}”, p.age, p.name));

            });

 

            // Sort by age

            people.Sort(delegate(Person p1, Person p2)

            {

                return p1.age.CompareTo(p2.age);

            });

            Console.WriteLine(“Sorted list, by age”);

            people.ForEach(delegate(Person p)

            {

                Console.WriteLine(String.Format(“{0} {1}”, p.age, p.name));

            });

        }

    }

 

    public class Person

    {

        public int age;

        public string name;

 

        public Person(int age, string name)

        {

            this.age = age;

            this.name = name;

        }

    }

}

Blog at WordPress.com.