<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" %>
Untitled Page
File: Default.aspx.cs
using System;
using System.Data;
using System.Configuration;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
public partial class _Default : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
Person scott = new Person("A", "B");
Person bill = new Person("C", "D");
Person srini = new Person("E", "F");
Person[] people = { bill, scott, srini };
int indexOfC = Array.IndexOf(people, bill);
Response.Write("C is at " + indexOfC + "
");
int indexOfA = Array.IndexOf(people, scott);
Response.Write("A is at " + indexOfA + "
");
Person scott2 = new Person("A", "B");
int indexOfA2 = Array.IndexOf(people, scott2);
Response.Write("A #2 is at " + indexOfA2 + "
");
int indexOfEquivalentA = Array.BinarySearch(people, scott2);
Response.Write("An Equivalent A is at " + indexOfEquivalentA + "
");
}
}
public class Person : IComparable
{
string FirstName;
string LastName;
public Person(string first, string last)
{
FirstName = first;
LastName = last;
}
public string FullName
{
get
{
return FirstName + " " + LastName;
}
}
int IComparable.CompareTo(object obj)
{
Person p2 = obj as Person;
if (p2 == null) throw new ArgumentException("Object is not a Person!");
int lastNameResult = this.LastName.CompareTo(p2.LastName);
if (lastNameResult == 0)
{
int firstNameResult = this.FirstName.CompareTo(p2.FirstName);
return firstNameResult;
}
else
{
return lastNameResult;
}
}
}