List As Is

using ForEach

  • Ryan Ternier, (26)
  • You, (23435)
  • Ryan's New Kid, (0)
  • Xana, (4)
  • Hobbs, (4)
  • Trogdor, (-1)

Age is greater or equal to 0

using FindAll,and foreach

  • Ryan Ternier, (26)
  • You, (23435)
  • Ryan's New Kid, (0)
  • Xana, (4)
  • Hobbs, (4)

let's Sort Them

using Sort

  • Hobbs, (4)
  • Ryan Ternier, (26)
  • Ryan's New Kid, (0)
  • Trogdor, (-1)
  • Xana, (4)
  • You, (23435)

Get all Female Ninja

using Foreach

  • Ange, (29). Husband: Ryan



Front End Code:

            <asp:Label ID="lblData" runat="server" />


Code Behind:

using System.Collections.Generic;

 

namespace BicNet.Projects.Generics.Refresher

{

    public partial class Refresher1 : System.Web.UI.Page

    {

        protected void Page_Load(object sender, EventArgs e)

        {

            List<Ninja> ninjas = new List<Ninja>();

 

            ninjas.Add(new Ninja(26, "Ryan Ternier"));

            ninjas.Add(new Ninja(23435, "You"));

            ninjas.Add(new Ninja(0, "Ryan's New Kid"));

            ninjas.Add(new Ninja(4, "Xana"));

            ninjas.Add(new Ninja(4, "Hobbs"));

            ninjas.Add(new Ninja(-1, "Trogdor"));

 

            System.Text.StringBuilder sb = new System.Text.StringBuilder();

            sb.Append("<h1>List As Is</h1> using ForEach<br/> ");

            sb.Append("<br/><ul>");

            ninjas.ForEach(delegate(Ninja n)

            {

                sb.Append(String.Format("<li>{0}, ({1})</li>", n._name, n._age));

            });

            sb.Append("</ul><br/>");

 

            ///////////////////////////////////////

            sb.Append("<h1>Age is greater or equal to 0</h1>using FindAll,and foreach<br/> ");

            sb.Append("<br/><ul>");

            List<Ninja> thoseAlive = ninjas.FindAll(delegate(Ninja n)

            {

                return n._age >= 0;

            });

            thoseAlive.ForEach(delegate(Ninja n)

            {

                sb.Append(String.Format("<li>{0}, ({1})</li>", n._name, n._age));

            });

            sb.Append("</ul><br/>");

            ////////////////////////////////////////

            sb.Append("<h1>let's Sort Them</h1>using Sort<br/> ");

            sb.Append("<br/><ul>");

            ninjas.Sort(delegate(Ninja n1, Ninja n2)

            {

                return n1._name.CompareTo(n2._name);

            });

            ninjas.ForEach(delegate(Ninja n)

            {

                sb.Append(String.Format("<li>{0}, ({1})</li>", n._name, n._age));

            });

            sb.Append("</ul><br/>");

            /////////////////////////////////////////

 

            FemaleNinja femaleNinja = new FemaleNinja("Ryan", 29, "Ange");

            ninjas.Add(femaleNinja);

            sb.Append("<h1>Get all Female Ninja</h1>using Foreach<br/> ");

            sb.Append("<br/><ul>");

            ninjas.ForEach(delegate(Ninja n)

            {

                if (n.GetType() == typeof(FemaleNinja))

                    sb.Append(String.Format("<li>{0}, ({1}). Husband: {2}</li>", n._name, n._age, ((FemaleNinja)n)._husband));

            });

            sb.Append("</ul><br/>");

            sb.Append("</ul><br/>");

 

            lblData.Text = sb.ToString();

        }

    }

    public class Ninja

    {

 

        public int _age;

        public string _name;

 

        public Ninja(int age, string name)

        {

            this._age = age;

            this._name = name;

        }

    }

 

    public class FemaleNinja : Ninja

    {

        public string _husband;

 

        public FemaleNinja(string husband, int age, string name)

            : base(age, name)

        {

            this._husband = husband;

        }

    }

}