Collections ASP.Net Tutorial

<%@ Page Language="VB" AutoEventWireup="false" CodeFile="Default.aspx.vb"  Inherits="_Default" %>



    Untitled Page


    
    

    
    

    


File: Default.aspx.vb
Imports Microsoft.VisualBasic
Public Class Person
    Implements IComparable
    Dim FirstName As String
    Dim LastName As String
    Public Sub New(ByVal First As String, ByVal Last As String)
        FirstName = First
        LastName = Last
    End Sub
    Public ReadOnly Property FullName() As String
        Get
            Return FirstName & " " & LastName
        End Get
    End Property
    Public Function CompareTo(ByVal obj As Object) _
        As Integer Implements IComparable.CompareTo
        If Not TypeOf (obj) Is Person Then
            Throw New ArgumentException("Object is not a Person!")
        End If
        Dim p2 As Person = CType(obj, Person)
        Dim lastNameResult As Integer = Me.LastName.CompareTo(p2.LastName)
        If lastNameResult = 0 Then
            Dim firstNameResult As Integer = Me.FirstName.CompareTo(p2.FirstName)
            Return firstNameResult
        Else
            Return lastNameResult
        End If
    End Function
End Class
Partial Class _Default
    Inherits System.Web.UI.Page
    Protected Sub Page_Load(ByVal sender As Object, _
            ByVal e As System.EventArgs) Handles Me.Load
        Dim scott As New Person("A", "B")
        Dim bill As New Person("C", "D")
        Dim srini As New Person("E", "F")
        Dim people() As Person = {bill, scott, srini}
        Dim indexOfC As Integer = Array.IndexOf(people, bill)
        Response.Write("C is at " & indexOfC & "
")
        Dim indexOfA As Integer = Array.IndexOf(people, scott)
        Response.Write("A is at " & indexOfA & "
")
        Dim scott2 As New Person("A", "B")
        Dim indexOfA2 As Integer = Array.IndexOf(people, scott2)
        Response.Write("A #2 is at " & indexOfA2 & "
")
        Dim indexOfEquivalentA As Integer = Array.BinarySearch(people, scott2)
        Response.Write("An Equivalent A is at " & indexOfEquivalentA & "
")
    End Sub
End Class