<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="ru">
		<id>http://nfex.ru/index.php?action=history&amp;feed=atom&amp;title=ASP.NET_Tutorial%2FCollections%2FArrayList</id>
		<title>ASP.NET Tutorial/Collections/ArrayList - История изменений</title>
		<link rel="self" type="application/atom+xml" href="http://nfex.ru/index.php?action=history&amp;feed=atom&amp;title=ASP.NET_Tutorial%2FCollections%2FArrayList"/>
		<link rel="alternate" type="text/html" href="http://nfex.ru/index.php?title=ASP.NET_Tutorial/Collections/ArrayList&amp;action=history"/>
		<updated>2026-04-29T21:40:42Z</updated>
		<subtitle>История изменений этой страницы в вики</subtitle>
		<generator>MediaWiki 1.30.0</generator>

	<entry>
		<id>http://nfex.ru/index.php?title=ASP.NET_Tutorial/Collections/ArrayList&amp;diff=2759&amp;oldid=prev</id>
		<title> в 15:30, 26 мая 2010</title>
		<link rel="alternate" type="text/html" href="http://nfex.ru/index.php?title=ASP.NET_Tutorial/Collections/ArrayList&amp;diff=2759&amp;oldid=prev"/>
				<updated>2010-05-26T15:30:57Z</updated>
		
		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;table class=&quot;diff diff-contentalign-left&quot; data-mw=&quot;interface&quot;&gt;
				&lt;tr style=&quot;vertical-align: top;&quot; lang=&quot;ru&quot;&gt;
				&lt;td colspan=&quot;1&quot; style=&quot;background-color: white; color:black; text-align: center;&quot;&gt;← Предыдущая&lt;/td&gt;
				&lt;td colspan=&quot;1&quot; style=&quot;background-color: white; color:black; text-align: center;&quot;&gt;Версия 15:30, 26 мая 2010&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; style=&quot;text-align: center;&quot; lang=&quot;ru&quot;&gt;&lt;div class=&quot;mw-diff-empty&quot;&gt;(нет различий)&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</summary>
			</entry>

	<entry>
		<id>http://nfex.ru/index.php?title=ASP.NET_Tutorial/Collections/ArrayList&amp;diff=2760&amp;oldid=prev</id>
		<title>Admin: 1 версия</title>
		<link rel="alternate" type="text/html" href="http://nfex.ru/index.php?title=ASP.NET_Tutorial/Collections/ArrayList&amp;diff=2760&amp;oldid=prev"/>
				<updated>2010-05-26T11:57:02Z</updated>
		
		<summary type="html">&lt;p&gt;1 версия&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Новая страница&lt;/b&gt;&lt;/p&gt;&lt;div&gt;== Add objects to ArrayList (C#)==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;csharp&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;%@ Page Language=&amp;quot;C#&amp;quot; %&amp;gt;&lt;br /&gt;
&amp;lt;script runat=&amp;quot;server&amp;quot;&amp;gt;&lt;br /&gt;
private void Page_Load(object sender, System.EventArgs e)&lt;br /&gt;
{&lt;br /&gt;
  System.Collections.ArrayList al = new System.Collections.ArrayList(5);&lt;br /&gt;
  &lt;br /&gt;
  al.Add(&amp;quot;one&amp;quot;);&lt;br /&gt;
  al.Add(2);&lt;br /&gt;
  al.Add(false);&lt;br /&gt;
  al.Add(new System.Object());&lt;br /&gt;
  &lt;br /&gt;
  Response.Write(&amp;quot;Successfully added &amp;quot; + al.Count + &amp;quot; different types of objects to an ArrayList.&amp;quot;);&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/script&amp;gt;&amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
== Add objects to ArrayList (VB)==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;csharp&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;%@ Page Language=&amp;quot;VB&amp;quot; %&amp;gt;&lt;br /&gt;
&amp;lt;script runat=&amp;quot;server&amp;quot;&amp;gt;&lt;br /&gt;
Sub Page_Load (Sender As Object, E As EventArgs)&lt;br /&gt;
  Dim al As New ArrayList(5)&lt;br /&gt;
  &lt;br /&gt;
  al.Add(&amp;quot;one&amp;quot;)&lt;br /&gt;
  al.Add(2)&lt;br /&gt;
  al.Add(False)&lt;br /&gt;
  al.Add(New System.Object())&lt;br /&gt;
  &lt;br /&gt;
  Response.Write(&amp;quot;Successfully added &amp;quot; &amp;amp; al.Count &amp;amp; &amp;quot; different types of objects to an ArrayList.&amp;quot;)&lt;br /&gt;
End Sub&lt;br /&gt;
&amp;lt;/script&amp;gt;&amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
== ArrayList with custom objects==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;csharp&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;%@ Page Language=&amp;quot;C#&amp;quot; AutoEventWireup=&amp;quot;true&amp;quot; CodeFile=&amp;quot;Default.aspx.cs&amp;quot; Inherits=&amp;quot;UsingArrayList&amp;quot; %&amp;gt;&lt;br /&gt;
&amp;lt;!DOCTYPE html PUBLIC &amp;quot;-//W3C//DTD XHTML 1.0 Transitional//EN&amp;quot; &amp;quot;http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;html xmlns=&amp;quot;http://www.w3.org/1999/xhtml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;head id=&amp;quot;Head1&amp;quot; runat=&amp;quot;server&amp;quot;&amp;gt;&lt;br /&gt;
   &amp;lt;title&amp;gt;Using an ArrayList&amp;lt;/title&amp;gt;&lt;br /&gt;
&amp;lt;/head&amp;gt;&lt;br /&gt;
&amp;lt;body&amp;gt;&lt;br /&gt;
   &amp;lt;form id=&amp;quot;form1&amp;quot; runat=&amp;quot;server&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;div id=&amp;quot;container&amp;quot;&amp;gt;&lt;br /&gt;
         &amp;lt;h1&amp;gt;Using an ArrayList&amp;lt;/h1&amp;gt;&lt;br /&gt;
         &lt;br /&gt;
         In this example, the drop-down list is &lt;br /&gt;
         data bound to an &amp;lt;code&amp;gt;ArrayList&amp;lt;/code&amp;gt;.&lt;br /&gt;
         &lt;br /&gt;
         &lt;br /&gt;
         &amp;lt;asp:Panel ID=&amp;quot;panList&amp;quot; runat=&amp;quot;server&amp;quot; &amp;gt;&lt;br /&gt;
         &amp;lt;h2&amp;gt;Select customer from list:&amp;lt;/h2&amp;gt;&lt;br /&gt;
         &lt;br /&gt;
         &amp;lt;asp:ListBox id=&amp;quot;lboxCustomers&amp;quot; runat=&amp;quot;server&amp;quot; AutoPostBack=&amp;quot;True&amp;quot;&lt;br /&gt;
            DataTextField=&amp;quot;Name&amp;quot;&lt;br /&gt;
           DataValueField=&amp;quot;Id&amp;quot;  &lt;br /&gt;
           OnSelectedIndexChanged=&amp;quot;SelectCustomer&amp;quot; /&amp;gt;&lt;br /&gt;
        &lt;br /&gt;
         &amp;lt;/asp:Panel&amp;gt;&lt;br /&gt;
         &lt;br /&gt;
      &amp;lt;asp:Panel ID=&amp;quot;panCustomer&amp;quot; runat=&amp;quot;server&amp;quot; CssClass=&amp;quot;panelBox&amp;quot;&amp;gt;          &lt;br /&gt;
        &amp;lt;h2&amp;gt;Customer Information&amp;lt;/h2&amp;gt;&lt;br /&gt;
         Id:&amp;lt;br /&amp;gt;&lt;br /&gt;
        &amp;lt;asp:TextBox id=&amp;quot;txtId&amp;quot; runat=&amp;quot;server&amp;quot; /&amp;gt;&lt;br /&gt;
         First Name:&amp;lt;br /&amp;gt;&lt;br /&gt;
        &amp;lt;asp:TextBox id=&amp;quot;txtFirst&amp;quot; runat=&amp;quot;server&amp;quot; /&amp;gt;&lt;br /&gt;
         Last Name:&amp;lt;br /&amp;gt;&lt;br /&gt;
        &amp;lt;asp:TextBox id=&amp;quot;txtLast&amp;quot; runat=&amp;quot;server&amp;quot; /&amp;gt;&lt;br /&gt;
         Phone Number:&amp;lt;br /&amp;gt;&lt;br /&gt;
        &amp;lt;asp:TextBox id=&amp;quot;txtPhone&amp;quot; runat=&amp;quot;server&amp;quot; /&amp;gt;&lt;br /&gt;
      &amp;lt;/asp:Panel&amp;gt;&lt;br /&gt;
      &amp;lt;/div&amp;gt;&lt;br /&gt;
   &amp;lt;/form&amp;gt;&lt;br /&gt;
&amp;lt;/body&amp;gt;&lt;br /&gt;
&amp;lt;/html&amp;gt;&lt;br /&gt;
File: Default.aspx.cs&lt;br /&gt;
using System;&lt;br /&gt;
using System.Data;&lt;br /&gt;
using System.Configuration;&lt;br /&gt;
using System.Collections;&lt;br /&gt;
using System.Web;&lt;br /&gt;
using System.Web.Security;&lt;br /&gt;
using System.Web.UI;&lt;br /&gt;
using System.Web.UI.WebControls;&lt;br /&gt;
using System.Web.UI.WebControls.WebParts;&lt;br /&gt;
using System.Web.UI.HtmlControls;&lt;br /&gt;
public abstract class AbstractEntity&lt;br /&gt;
{&lt;br /&gt;
   private string _id;&lt;br /&gt;
  public AbstractEntity(string id)&lt;br /&gt;
  {&lt;br /&gt;
      _id = id;&lt;br /&gt;
  }&lt;br /&gt;
&lt;br /&gt;
   public string Id&lt;br /&gt;
   {&lt;br /&gt;
      get { return _id; }&lt;br /&gt;
      set { _id = value; }&lt;br /&gt;
   }&lt;br /&gt;
&lt;br /&gt;
   public abstract bool IsValid&lt;br /&gt;
   {&lt;br /&gt;
      get;&lt;br /&gt;
   }&lt;br /&gt;
}&lt;br /&gt;
public class Customer: AbstractEntity &lt;br /&gt;
{&lt;br /&gt;
   // data members&lt;br /&gt;
   private string _firstName;&lt;br /&gt;
   private string _lastName;&lt;br /&gt;
   private string _phone;&lt;br /&gt;
   public Customer(string id, string firstName, string lastName, string phone): base(id)&lt;br /&gt;
   {&lt;br /&gt;
      _firstName = firstName;&lt;br /&gt;
      _lastName = lastName;&lt;br /&gt;
      _phone = phone;&lt;br /&gt;
   }&lt;br /&gt;
&lt;br /&gt;
   public string FirstName&lt;br /&gt;
   {&lt;br /&gt;
      get { return _firstName; }&lt;br /&gt;
      set { _firstName = value; }&lt;br /&gt;
   }&lt;br /&gt;
   public string LastName&lt;br /&gt;
   {&lt;br /&gt;
      get { return _lastName; }&lt;br /&gt;
      set { _lastName = value; }&lt;br /&gt;
   }&lt;br /&gt;
   public string Phone&lt;br /&gt;
   {&lt;br /&gt;
      get { return _phone; }&lt;br /&gt;
      set { _phone = value; }&lt;br /&gt;
   }&lt;br /&gt;
   public string Name&lt;br /&gt;
   {&lt;br /&gt;
      get { return LastName + &amp;quot;, &amp;quot; + FirstName; }&lt;br /&gt;
   }&lt;br /&gt;
   public override bool IsValid&lt;br /&gt;
   {&lt;br /&gt;
      get&lt;br /&gt;
      {&lt;br /&gt;
         if (Id.Length &amp;gt; 0 &amp;amp;&amp;amp; LastName.Length &amp;gt; 0)&lt;br /&gt;
            return true;&lt;br /&gt;
         else&lt;br /&gt;
            return false;&lt;br /&gt;
      }&lt;br /&gt;
   }&lt;br /&gt;
   public override string ToString()&lt;br /&gt;
   {&lt;br /&gt;
      return Id + &amp;quot;,&amp;quot; + Name + &amp;quot;,&amp;quot; + Phone; &lt;br /&gt;
   }&lt;br /&gt;
}&lt;br /&gt;
public partial class UsingArrayList : System.Web.UI.Page&lt;br /&gt;
{&lt;br /&gt;
   private ArrayList _customers;&lt;br /&gt;
   private void Page_Load(object sender, System.EventArgs e)&lt;br /&gt;
   {&lt;br /&gt;
      _customers = new ArrayList();&lt;br /&gt;
      FillCustomers();&lt;br /&gt;
      if (!IsPostBack)&lt;br /&gt;
      {&lt;br /&gt;
         lboxCustomers.DataSource = _customers;&lt;br /&gt;
         lboxCustomers.DataBind();&lt;br /&gt;
         panCustomer.Visible = false;&lt;br /&gt;
      }&lt;br /&gt;
   }&lt;br /&gt;
   private void FillCustomers()&lt;br /&gt;
   {&lt;br /&gt;
      Customer c1 = new Customer(&amp;quot;1&amp;quot;, &amp;quot;A&amp;quot;, &amp;quot;AA&amp;quot;, &amp;quot;123-4567&amp;quot;);&lt;br /&gt;
      Customer c2 = new Customer(&amp;quot;2&amp;quot;, &amp;quot;B&amp;quot;, &amp;quot;BB&amp;quot;, &amp;quot;456-1267&amp;quot;);&lt;br /&gt;
      Customer c3 = new Customer(&amp;quot;3&amp;quot;, &amp;quot;C&amp;quot;, &amp;quot;CC&amp;quot;, &amp;quot;564-7823&amp;quot;);&lt;br /&gt;
      Customer c4 = new Customer(&amp;quot;4&amp;quot;, &amp;quot;D&amp;quot;, &amp;quot;DD&amp;quot;, &amp;quot;253-6383&amp;quot;);&lt;br /&gt;
      _customers.Add(c1);&lt;br /&gt;
      _customers.Add(c2);&lt;br /&gt;
      _customers.Add(c3);&lt;br /&gt;
      _customers.Add(c4);&lt;br /&gt;
   }&lt;br /&gt;
&lt;br /&gt;
    protected void SelectCustomer(object sender, System.EventArgs e)&lt;br /&gt;
    {&lt;br /&gt;
       int index = lboxCustomers.SelectedIndex;&lt;br /&gt;
    &lt;br /&gt;
       if (index &amp;gt;= 0 &amp;amp;&amp;amp; index &amp;lt;= _customers.Count)&lt;br /&gt;
       {&lt;br /&gt;
          Customer c = (Customer)_customers[index];&lt;br /&gt;
    &lt;br /&gt;
          txtId.Text = c.Id;&lt;br /&gt;
          txtFirst.Text = c.FirstName;&lt;br /&gt;
          txtLast.Text = c.LastName;&lt;br /&gt;
          txtPhone.Text = c.Phone;&lt;br /&gt;
    &lt;br /&gt;
          panCustomer.Visible = true;&lt;br /&gt;
       }&lt;br /&gt;
    }&lt;br /&gt;
}&amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
== Bind ArrayList to DropDownList==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;csharp&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;script language=&amp;quot;C#&amp;quot; runat=&amp;quot;server&amp;quot;&amp;gt;&lt;br /&gt;
protected void Page_Load(object o, EventArgs e) {&lt;br /&gt;
    if(!IsPostBack) {&lt;br /&gt;
        ArrayList arrayList = new ArrayList();&lt;br /&gt;
        arrayList.Add(&amp;quot;C#&amp;quot;);&lt;br /&gt;
        arrayList.Add(&amp;quot;VB.NET&amp;quot;);&lt;br /&gt;
        arrayList.Add(&amp;quot;JScript.Net&amp;quot;);&lt;br /&gt;
        languageDropDownList.DataSource = arrayList;&lt;br /&gt;
        languageDropDownList.DataBind();&lt;br /&gt;
        favoriteLanguage.Text = languageDropDownList.SelectedItem.Value;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
protected void DropDownListSelectionChanged(object o, EventArgs e) {&lt;br /&gt;
    favoriteLanguage.Text = languageDropDownList.SelectedItem.Text;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/script&amp;gt;&lt;br /&gt;
&amp;lt;form runat=&amp;quot;server&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;asp:DropDownList &lt;br /&gt;
    id=&amp;quot;languageDropDownList&amp;quot;&lt;br /&gt;
    runat=&amp;quot;server&amp;quot; &lt;br /&gt;
    OnSelectedIndexChanged=&amp;quot;DropDownListSelectionChanged&amp;quot; &amp;gt;&lt;br /&gt;
&amp;lt;/asp:DropDownList&amp;gt;&amp;lt;br/&amp;gt;&lt;br /&gt;
Favorite Language: &amp;lt;b&amp;gt;&amp;lt;asp:Label runat=&amp;quot;server&amp;quot; id=&amp;quot;favoriteLanguage&amp;quot; style=&amp;quot;color:blue&amp;quot; /&amp;gt;&amp;lt;/b&amp;gt;&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;asp:Button runat=&amp;quot;server&amp;quot; Text=&amp;quot;Submit&amp;quot;/&amp;gt;&lt;br /&gt;
&amp;lt;/form&amp;gt;&amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
== Foreach loop (C#)==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;csharp&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;%@ Page %&amp;gt;&lt;br /&gt;
&amp;lt;script language=&amp;quot;C#&amp;quot; runat=&amp;quot;server&amp;quot;&amp;gt;&lt;br /&gt;
  private void Page_Load(object sender, System.EventArgs e)&lt;br /&gt;
  {&lt;br /&gt;
    int i;&lt;br /&gt;
    System.Collections.ArrayList myList=new System.Collections.ArrayList();&lt;br /&gt;
    myList.Add(&amp;quot;Zero&amp;quot;);&lt;br /&gt;
    myList.Add(&amp;quot;One&amp;quot;);&lt;br /&gt;
    myList.Add(&amp;quot;Two&amp;quot;);&lt;br /&gt;
    myList.Add(&amp;quot;Three&amp;quot;);&lt;br /&gt;
    myList.Add(&amp;quot;Four&amp;quot;);&lt;br /&gt;
    myList.Add(&amp;quot;Five&amp;quot;);&lt;br /&gt;
    foreach (string number in myList)&lt;br /&gt;
    {&lt;br /&gt;
      Response.Write(number.ToString() + &amp;quot;&amp;lt;BR&amp;gt;&amp;quot;);&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
&amp;lt;/script&amp;gt;&lt;br /&gt;
&amp;lt;html&amp;gt;&lt;br /&gt;
  &amp;lt;body&amp;gt;&lt;br /&gt;
    &amp;lt;form id=&amp;quot;form1&amp;quot; method=&amp;quot;post&amp;quot; runat=&amp;quot;server&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;/form&amp;gt;&lt;br /&gt;
  &amp;lt;/body&amp;gt;&lt;br /&gt;
&amp;lt;/html&amp;gt;&amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
== Foreach loop (VB)==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;csharp&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;%@ Page %&amp;gt;&lt;br /&gt;
&amp;lt;script language=&amp;quot;vb&amp;quot; runat=&amp;quot;server&amp;quot;&amp;gt;&lt;br /&gt;
  Sub Page_Load(sender As Object, e As EventArgs)&lt;br /&gt;
    Dim i As Integer&lt;br /&gt;
    Dim item As String&lt;br /&gt;
    Dim myList As New System.Collections.ArrayList()&lt;br /&gt;
    myList.Add(&amp;quot;Zero&amp;quot;)&lt;br /&gt;
    myList.Add(&amp;quot;One&amp;quot;)&lt;br /&gt;
    myList.Add(&amp;quot;Two&amp;quot;)&lt;br /&gt;
    myList.Add(&amp;quot;Three&amp;quot;)&lt;br /&gt;
    myList.Add(&amp;quot;Four&amp;quot;)&lt;br /&gt;
    myList.Add(&amp;quot;Five&amp;quot;)&lt;br /&gt;
    For Each item In myList&lt;br /&gt;
      Response.Write(Item &amp;amp; &amp;quot;&amp;lt;BR&amp;gt;&amp;quot;)&lt;br /&gt;
    Next&lt;br /&gt;
  End Sub&lt;br /&gt;
&amp;lt;/script&amp;gt;&lt;br /&gt;
&amp;lt;html&amp;gt;&lt;br /&gt;
  &amp;lt;body&amp;gt;&lt;br /&gt;
    &amp;lt;form id=&amp;quot;form1&amp;quot; method=&amp;quot;post&amp;quot; runat=&amp;quot;server&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;/form&amp;gt;&lt;br /&gt;
  &amp;lt;/body&amp;gt;&lt;br /&gt;
&amp;lt;/html&amp;gt;&amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
== Using a custom strongly typed PersonList (C#)==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;csharp&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;%@ Page Language=&amp;quot;C#&amp;quot; AutoEventWireup=&amp;quot;true&amp;quot;  CodeFile=&amp;quot;Default.aspx.cs&amp;quot; Inherits=&amp;quot;_Default&amp;quot; %&amp;gt;&lt;br /&gt;
&amp;lt;!DOCTYPE html PUBLIC &amp;quot;-//W3C//DTD XHTML 1.0 Transitional//EN&amp;quot; &amp;quot;http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;html xmlns=&amp;quot;http://www.w3.org/1999/xhtml&amp;quot; &amp;gt;&lt;br /&gt;
&amp;lt;head runat=&amp;quot;server&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;title&amp;gt;Untitled Page&amp;lt;/title&amp;gt;&lt;br /&gt;
&amp;lt;/head&amp;gt;&lt;br /&gt;
&amp;lt;body&amp;gt;&lt;br /&gt;
    &amp;lt;form id=&amp;quot;form1&amp;quot; runat=&amp;quot;server&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;div&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
    &amp;lt;/div&amp;gt;&lt;br /&gt;
    &amp;lt;/form&amp;gt;&lt;br /&gt;
&amp;lt;/body&amp;gt;&lt;br /&gt;
&amp;lt;/html&amp;gt;&lt;br /&gt;
File: Default.aspx.cs&lt;br /&gt;
using System;&lt;br /&gt;
using System.Collections;&lt;br /&gt;
public partial class _Default : System.Web.UI.Page&lt;br /&gt;
{&lt;br /&gt;
    protected void Page_Load(object sender, EventArgs e)&lt;br /&gt;
    {&lt;br /&gt;
        Person scott = new Person(&amp;quot;A&amp;quot;, &amp;quot;B&amp;quot;);&lt;br /&gt;
        Person bill = new Person(&amp;quot;C&amp;quot;, &amp;quot;D&amp;quot;);&lt;br /&gt;
        Person srini = new Person(&amp;quot;E&amp;quot;, &amp;quot;F&amp;quot;);&lt;br /&gt;
        PersonList people = new PersonList();&lt;br /&gt;
        people.Add(scott);&lt;br /&gt;
        people.Add(bill);&lt;br /&gt;
        people.Add(srini);&lt;br /&gt;
        foreach (Person p in people)&lt;br /&gt;
        {&lt;br /&gt;
            Response.Write(p.FullName + &amp;quot;&amp;lt;BR/&amp;gt;&amp;quot;);&lt;br /&gt;
        }&lt;br /&gt;
        for (int i = 0; i &amp;lt; people.Count; i++)&lt;br /&gt;
        {&lt;br /&gt;
            Response.Write(people[i].FullName + &amp;quot;&amp;lt;BR/&amp;gt;&amp;quot;);&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
public class PersonList : System.Collections.IEnumerable&lt;br /&gt;
{&lt;br /&gt;
    private ArrayList innerList = new ArrayList();&lt;br /&gt;
    public void Add(Person aPerson)&lt;br /&gt;
    {&lt;br /&gt;
        innerList.Add(aPerson);&lt;br /&gt;
    }&lt;br /&gt;
    public void Remove(Person aPerson)&lt;br /&gt;
    {&lt;br /&gt;
        innerList.Remove(aPerson);&lt;br /&gt;
    }&lt;br /&gt;
    public int Count&lt;br /&gt;
    {&lt;br /&gt;
        get { return innerList.Count; }&lt;br /&gt;
    }&lt;br /&gt;
    // Get/set element at given index&lt;br /&gt;
    public Person this[int index]&lt;br /&gt;
    {&lt;br /&gt;
        get { return (Person)innerList[index]; }&lt;br /&gt;
        set { innerList[index] = value; }&lt;br /&gt;
    }&lt;br /&gt;
    public IEnumerator GetEnumerator()&lt;br /&gt;
    {&lt;br /&gt;
        return innerList.GetEnumerator();&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
public class Person : IComparable&lt;br /&gt;
{&lt;br /&gt;
    string FirstName;&lt;br /&gt;
    string LastName;&lt;br /&gt;
    public Person(string first, string last)&lt;br /&gt;
    {&lt;br /&gt;
        FirstName = first;&lt;br /&gt;
        LastName = last;&lt;br /&gt;
    }&lt;br /&gt;
    public string FullName&lt;br /&gt;
    {&lt;br /&gt;
        get&lt;br /&gt;
        {&lt;br /&gt;
            return FirstName + &amp;quot; &amp;quot; + LastName;&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
    int IComparable.rupareTo(object obj)&lt;br /&gt;
    {&lt;br /&gt;
        Person p2 = obj as Person;&lt;br /&gt;
        if (p2 == null) throw new ArgumentException(&amp;quot;Object is not a Person!&amp;quot;);&lt;br /&gt;
        int lastNameResult = this.LastName.rupareTo(p2.LastName);&lt;br /&gt;
        if (lastNameResult == 0)&lt;br /&gt;
        {&lt;br /&gt;
            int firstNameResult = this.FirstName.rupareTo(p2.FirstName);&lt;br /&gt;
            return firstNameResult;&lt;br /&gt;
        }&lt;br /&gt;
        else&lt;br /&gt;
        {&lt;br /&gt;
            return lastNameResult;&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
}&amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
== Using a custom strongly typed PersonList (VB)==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;csharp&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;%@ Page Language=&amp;quot;VB&amp;quot; AutoEventWireup=&amp;quot;false&amp;quot; CodeFile=&amp;quot;Default.aspx.vb&amp;quot; Inherits=&amp;quot;_Default&amp;quot; %&amp;gt;&lt;br /&gt;
&amp;lt;!DOCTYPE html PUBLIC &amp;quot;-//W3C//DTD XHTML 1.0 Transitional//EN&amp;quot; &amp;quot;http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;html xmlns=&amp;quot;http://www.w3.org/1999/xhtml&amp;quot; &amp;gt;&lt;br /&gt;
&amp;lt;head runat=&amp;quot;server&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;title&amp;gt;Untitled Page&amp;lt;/title&amp;gt;&lt;br /&gt;
&amp;lt;/head&amp;gt;&lt;br /&gt;
&amp;lt;body&amp;gt;&lt;br /&gt;
    &amp;lt;form id=&amp;quot;form1&amp;quot; runat=&amp;quot;server&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;div&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
    &amp;lt;/div&amp;gt;&lt;br /&gt;
    &amp;lt;/form&amp;gt;&lt;br /&gt;
&amp;lt;/body&amp;gt;&lt;br /&gt;
&amp;lt;/html&amp;gt;&lt;br /&gt;
File: Default.aspx.vb&lt;br /&gt;
Imports System&lt;br /&gt;
Imports System.Collections&lt;br /&gt;
Imports Microsoft.VisualBasic&lt;br /&gt;
Imports System.Collections&lt;br /&gt;
Public Class PersonList&lt;br /&gt;
    Implements System.Collections.IEnumerable&lt;br /&gt;
    Private innerList As ArrayList = New ArrayList()&lt;br /&gt;
    Public Sub Add(ByVal aPerson As Person)&lt;br /&gt;
        innerList.Add(aPerson)&lt;br /&gt;
    End Sub&lt;br /&gt;
    Public Sub Remove(ByVal aPerson As Person)&lt;br /&gt;
        innerList.Remove(aPerson)&lt;br /&gt;
    End Sub&lt;br /&gt;
    Public ReadOnly Property Count() As Integer&lt;br /&gt;
        Get&lt;br /&gt;
            Return innerList.Count&lt;br /&gt;
        End Get&lt;br /&gt;
    End Property&lt;br /&gt;
    &amp;quot;Get/set element at given index&lt;br /&gt;
    Default Public Property Item(ByVal index As Integer) As Person&lt;br /&gt;
        Get&lt;br /&gt;
            Return CType(innerList(index), Person)&lt;br /&gt;
        End Get&lt;br /&gt;
        Set(ByVal Value As Person)&lt;br /&gt;
            innerList(index) = Value&lt;br /&gt;
        End Set&lt;br /&gt;
    End Property&lt;br /&gt;
    Public Function GetEnumerator() As IEnumerator _&lt;br /&gt;
            Implements IEnumerable.GetEnumerator&lt;br /&gt;
        Return innerList.GetEnumerator()&lt;br /&gt;
    End Function&lt;br /&gt;
End Class&lt;br /&gt;
Public Class Person&lt;br /&gt;
    Implements IComparable&lt;br /&gt;
    Dim FirstName As String&lt;br /&gt;
    Dim LastName As String&lt;br /&gt;
    Public Sub New(ByVal First As String, ByVal Last As String)&lt;br /&gt;
        FirstName = First&lt;br /&gt;
        LastName = Last&lt;br /&gt;
    End Sub&lt;br /&gt;
    Public ReadOnly Property FullName() As String&lt;br /&gt;
        Get&lt;br /&gt;
            Return FirstName &amp;amp; &amp;quot; &amp;quot; &amp;amp; LastName&lt;br /&gt;
        End Get&lt;br /&gt;
    End Property&lt;br /&gt;
    Public Function CompareTo(ByVal obj As Object) _&lt;br /&gt;
        As Integer Implements IComparable.rupareTo&lt;br /&gt;
        If Not TypeOf (obj) Is Person Then&lt;br /&gt;
            Throw New ArgumentException(&amp;quot;Object is not a Person!&amp;quot;)&lt;br /&gt;
        End If&lt;br /&gt;
        Dim p2 As Person = CType(obj, Person)&lt;br /&gt;
        Dim lastNameResult As Integer = Me.LastName.rupareTo(p2.LastName)&lt;br /&gt;
        If lastNameResult = 0 Then&lt;br /&gt;
            Dim firstNameResult As Integer = Me.FirstName.rupareTo(p2.FirstName)&lt;br /&gt;
            Return firstNameResult&lt;br /&gt;
        Else&lt;br /&gt;
            Return lastNameResult&lt;br /&gt;
        End If&lt;br /&gt;
    End Function&lt;br /&gt;
End Class&lt;br /&gt;
Partial Class _Default&lt;br /&gt;
    Inherits System.Web.UI.Page&lt;br /&gt;
    Protected Sub Page_Load(ByVal sender As Object, _&lt;br /&gt;
            ByVal e As System.EventArgs) Handles Me.Load&lt;br /&gt;
        Dim scott As New Person(&amp;quot;A&amp;quot;, &amp;quot;B&amp;quot;)&lt;br /&gt;
        Dim bill As New Person(&amp;quot;C&amp;quot;, &amp;quot;D&amp;quot;)&lt;br /&gt;
        Dim srini As New Person(&amp;quot;E&amp;quot;, &amp;quot;F&amp;quot;)&lt;br /&gt;
        Dim people As New PersonList()&lt;br /&gt;
        people.Add(scott)&lt;br /&gt;
        people.Add(bill)&lt;br /&gt;
        people.Add(srini)&lt;br /&gt;
        For Each p As Person In people&lt;br /&gt;
            Response.Write(p.FullName &amp;amp; &amp;quot;&amp;lt;BR/&amp;gt;&amp;quot;)&lt;br /&gt;
        Next&lt;br /&gt;
        For i As Integer = 0 To people.Count - 1&lt;br /&gt;
            Response.Write(people(i).FullName &amp;amp; &amp;quot;&amp;lt;BR/&amp;gt;&amp;quot;)&lt;br /&gt;
        Next&lt;br /&gt;
    End Sub&lt;br /&gt;
End Class&amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
== Using an ArrayList instead of an array (C#)==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;csharp&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;%@ Page Language=&amp;quot;C#&amp;quot; AutoEventWireup=&amp;quot;true&amp;quot;  CodeFile=&amp;quot;Default.aspx.cs&amp;quot; Inherits=&amp;quot;_Default&amp;quot; %&amp;gt;&lt;br /&gt;
&amp;lt;!DOCTYPE html PUBLIC &amp;quot;-//W3C//DTD XHTML 1.0 Transitional//EN&amp;quot; &amp;quot;http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;html xmlns=&amp;quot;http://www.w3.org/1999/xhtml&amp;quot; &amp;gt;&lt;br /&gt;
&amp;lt;head runat=&amp;quot;server&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;title&amp;gt;Untitled Page&amp;lt;/title&amp;gt;&lt;br /&gt;
&amp;lt;/head&amp;gt;&lt;br /&gt;
&amp;lt;body&amp;gt;&lt;br /&gt;
    &amp;lt;form id=&amp;quot;form1&amp;quot; runat=&amp;quot;server&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;div&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
    &amp;lt;/div&amp;gt;&lt;br /&gt;
    &amp;lt;/form&amp;gt;&lt;br /&gt;
&amp;lt;/body&amp;gt;&lt;br /&gt;
&amp;lt;/html&amp;gt;&lt;br /&gt;
File: Default.aspx.cs&lt;br /&gt;
using System;&lt;br /&gt;
using System.Collections;&lt;br /&gt;
public partial class _Default : System.Web.UI.Page&lt;br /&gt;
{&lt;br /&gt;
    protected void Page_Load(object sender, EventArgs e)&lt;br /&gt;
    {&lt;br /&gt;
        Person scott = new Person(&amp;quot;A&amp;quot;, &amp;quot;B&amp;quot;);&lt;br /&gt;
        Person bill = new Person(&amp;quot;C&amp;quot;, &amp;quot;D&amp;quot;);&lt;br /&gt;
        Person srini = new Person(&amp;quot;E&amp;quot;, &amp;quot;F&amp;quot;);&lt;br /&gt;
        ArrayList people = new ArrayList();&lt;br /&gt;
        people.Add(scott);&lt;br /&gt;
        people.Add(bill);&lt;br /&gt;
        people.Add(srini);&lt;br /&gt;
        Response.Write(&amp;quot;We used foreach.&amp;lt;BR/&amp;gt;&amp;quot;);&lt;br /&gt;
        foreach (Person p in people)&lt;br /&gt;
        {&lt;br /&gt;
            Response.Write(p.FullName + &amp;quot;&amp;lt;BR/&amp;gt;&amp;quot;);&lt;br /&gt;
        }&lt;br /&gt;
        Response.Write(&amp;quot;Sort...&amp;lt;BR/&amp;gt;&amp;quot;);&lt;br /&gt;
        people.Sort();&lt;br /&gt;
        Response.Write(&amp;quot;We used foreach.&amp;lt;BR/&amp;gt;&amp;quot;);&lt;br /&gt;
        foreach (Person p in people)&lt;br /&gt;
        {&lt;br /&gt;
            Response.Write(p.FullName + &amp;quot;&amp;lt;BR/&amp;gt;&amp;quot;);&lt;br /&gt;
        }&lt;br /&gt;
        Person scott2 = new Person(&amp;quot;A&amp;quot;, &amp;quot;B&amp;quot;);&lt;br /&gt;
        int indexOfA2 = people.IndexOf(scott2);&lt;br /&gt;
        Response.Write(&amp;quot;A #2 is at &amp;quot; + indexOfA2 + &amp;quot;&amp;lt;BR/&amp;gt;&amp;quot;);&lt;br /&gt;
        int indexOfEquivalentA = people.BinarySearch(scott2);&lt;br /&gt;
        Response.Write(&amp;quot;An Equivalent A is at &amp;quot; + indexOfEquivalentA +&lt;br /&gt;
        &amp;quot;&amp;lt;BR/&amp;gt;&amp;quot;);&lt;br /&gt;
        Response.Write(&amp;quot;We used a for loop.&amp;lt;BR/&amp;gt;&amp;quot;);&lt;br /&gt;
        for (int i = 0; i &amp;lt; people.Count; i++)&lt;br /&gt;
        {&lt;br /&gt;
            Response.Write(((Person)people[i]).FullName + &amp;quot;&amp;lt;BR/&amp;gt;&amp;quot;);&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
public class Person : IComparable&lt;br /&gt;
{&lt;br /&gt;
    string FirstName;&lt;br /&gt;
    string LastName;&lt;br /&gt;
    public Person(string first, string last)&lt;br /&gt;
    {&lt;br /&gt;
        FirstName = first;&lt;br /&gt;
        LastName = last;&lt;br /&gt;
    }&lt;br /&gt;
    public string FullName&lt;br /&gt;
    {&lt;br /&gt;
        get&lt;br /&gt;
        {&lt;br /&gt;
            return FirstName + &amp;quot; &amp;quot; + LastName;&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
    int IComparable.rupareTo(object obj)&lt;br /&gt;
    {&lt;br /&gt;
        Person p2 = obj as Person;&lt;br /&gt;
        if (p2 == null) throw new ArgumentException(&amp;quot;Object is not a Person!&amp;quot;);&lt;br /&gt;
        int lastNameResult = this.LastName.rupareTo(p2.LastName);&lt;br /&gt;
        if (lastNameResult == 0)&lt;br /&gt;
        {&lt;br /&gt;
            int firstNameResult = this.FirstName.rupareTo(p2.FirstName);&lt;br /&gt;
            return firstNameResult;&lt;br /&gt;
        }&lt;br /&gt;
        else&lt;br /&gt;
        {&lt;br /&gt;
            return lastNameResult;&lt;br /&gt;
        }&lt;br /&gt;
    }&lt;br /&gt;
}&amp;lt;/source&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
   &lt;br /&gt;
&lt;br /&gt;
== Using an ArrayList instead of an array (VB)==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
   &lt;br /&gt;
  &amp;lt;!-- start source code --&amp;gt;&lt;br /&gt;
   &lt;br /&gt;
    &amp;lt;source lang=&amp;quot;csharp&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;%@ Page Language=&amp;quot;VB&amp;quot; AutoEventWireup=&amp;quot;false&amp;quot; CodeFile=&amp;quot;Default.aspx.vb&amp;quot; Inherits=&amp;quot;_Default&amp;quot; %&amp;gt;&lt;br /&gt;
&amp;lt;!DOCTYPE html PUBLIC &amp;quot;-//W3C//DTD XHTML 1.0 Transitional//EN&amp;quot; &amp;quot;http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;html xmlns=&amp;quot;http://www.w3.org/1999/xhtml&amp;quot; &amp;gt;&lt;br /&gt;
&amp;lt;head runat=&amp;quot;server&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;title&amp;gt;Untitled Page&amp;lt;/title&amp;gt;&lt;br /&gt;
&amp;lt;/head&amp;gt;&lt;br /&gt;
&amp;lt;body&amp;gt;&lt;br /&gt;
    &amp;lt;form id=&amp;quot;form1&amp;quot; runat=&amp;quot;server&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;div&amp;gt;&lt;br /&gt;
    &lt;br /&gt;
    &amp;lt;/div&amp;gt;&lt;br /&gt;
    &amp;lt;/form&amp;gt;&lt;br /&gt;
&amp;lt;/body&amp;gt;&lt;br /&gt;
&amp;lt;/html&amp;gt;&lt;br /&gt;
File: Default.aspx.vb&lt;br /&gt;
Imports System&lt;br /&gt;
Imports System.Collections&lt;br /&gt;
Imports Microsoft.VisualBasic&lt;br /&gt;
Public Class Person&lt;br /&gt;
    Implements IComparable&lt;br /&gt;
    Dim FirstName As String&lt;br /&gt;
    Dim LastName As String&lt;br /&gt;
    Public Sub New(ByVal First As String, ByVal Last As String)&lt;br /&gt;
        FirstName = First&lt;br /&gt;
        LastName = Last&lt;br /&gt;
    End Sub&lt;br /&gt;
    Public ReadOnly Property FullName() As String&lt;br /&gt;
        Get&lt;br /&gt;
            Return FirstName &amp;amp; &amp;quot; &amp;quot; &amp;amp; LastName&lt;br /&gt;
        End Get&lt;br /&gt;
    End Property&lt;br /&gt;
    Public Function CompareTo(ByVal obj As Object) _&lt;br /&gt;
        As Integer Implements IComparable.rupareTo&lt;br /&gt;
        If Not TypeOf (obj) Is Person Then&lt;br /&gt;
            Throw New ArgumentException(&amp;quot;Object is not a Person!&amp;quot;)&lt;br /&gt;
        End If&lt;br /&gt;
        Dim p2 As Person = CType(obj, Person)&lt;br /&gt;
        Dim lastNameResult As Integer = Me.LastName.rupareTo(p2.LastName)&lt;br /&gt;
        If lastNameResult = 0 Then&lt;br /&gt;
            Dim firstNameResult As Integer = Me.FirstName.rupareTo(p2.FirstName)&lt;br /&gt;
            Return firstNameResult&lt;br /&gt;
        Else&lt;br /&gt;
            Return lastNameResult&lt;br /&gt;
        End If&lt;br /&gt;
    End Function&lt;br /&gt;
End Class&lt;br /&gt;
Partial Class _Default&lt;br /&gt;
    Inherits System.Web.UI.Page&lt;br /&gt;
    Protected Sub Page_Load(ByVal sender As Object, _&lt;br /&gt;
            ByVal e As System.EventArgs) Handles Me.Load&lt;br /&gt;
        Dim scott As New Person(&amp;quot;A&amp;quot;, &amp;quot;B&amp;quot;)&lt;br /&gt;
        Dim bill As New Person(&amp;quot;C&amp;quot;, &amp;quot;D&amp;quot;)&lt;br /&gt;
        Dim srini As New Person(&amp;quot;E&amp;quot;, &amp;quot;F&amp;quot;)&lt;br /&gt;
        Dim people As New ArrayList()&lt;br /&gt;
        people.Add(scott)&lt;br /&gt;
        people.Add(bill)&lt;br /&gt;
        people.Add(srini)&lt;br /&gt;
        Response.Write(&amp;quot;Unsorted. We used foreach.&amp;lt;BR/&amp;gt;&amp;quot;)&lt;br /&gt;
        For Each p As Person In people&lt;br /&gt;
            Response.Write(p.FullName &amp;amp; &amp;quot;&amp;lt;BR/&amp;gt;&amp;quot;)&lt;br /&gt;
        Next&lt;br /&gt;
        Response.Write(&amp;quot;Sort...&amp;lt;BR/&amp;gt;&amp;quot;)&lt;br /&gt;
        people.Sort()&lt;br /&gt;
        Response.Write(&amp;quot;Sorted. We used foreach.&amp;lt;BR/&amp;gt;&amp;quot;)&lt;br /&gt;
        For Each p As Person In people&lt;br /&gt;
            Response.Write(p.FullName &amp;amp; &amp;quot;&amp;lt;BR/&amp;gt;&amp;quot;)&lt;br /&gt;
        Next&lt;br /&gt;
        Dim scott2 As New Person(&amp;quot;A&amp;quot;, &amp;quot;B&amp;quot;)&lt;br /&gt;
        Dim indexOfA2 As Integer = people.IndexOf(scott2)&lt;br /&gt;
        Response.Write(&amp;quot;A #2 is at &amp;quot; &amp;amp; indexOfA2 &amp;amp; &amp;quot;&amp;lt;BR/&amp;gt;&amp;quot;)&lt;br /&gt;
        Dim indexOfEquivalentA As Integer = people.BinarySearch(scott2)&lt;br /&gt;
        Response.Write(&amp;quot;An Equivalent A is at &amp;quot; &amp;amp; _&lt;br /&gt;
            indexOfEquivalentA &amp;amp; &amp;quot;&amp;lt;BR/&amp;gt;&amp;quot;)&lt;br /&gt;
        Response.Write(&amp;quot;We used a for loop.&amp;lt;BR/&amp;gt;&amp;quot;)&lt;br /&gt;
        For i As Integer = 0 To people.Count - 1&lt;br /&gt;
            Response.Write(CType(people(i), Person).FullName &amp;amp; &amp;quot;&amp;lt;BR/&amp;gt;&amp;quot;)&lt;br /&gt;
        Next&lt;br /&gt;
    End Sub&lt;br /&gt;
End Class&amp;lt;/source&amp;gt;&lt;/div&gt;</summary>
		<author><name>Admin</name></author>	</entry>

	</feed>