Queuing Person objects (VB) : Queue « Collections « ASP.NET Tutorial






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

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
    <title>Untitled Page</title>
</head>
<body>
    <form id="form1" runat="server">
    <div>
    
    </div>
    </form>
</body>
</html>

File: Default.aspx.vb

Imports System
Imports System.Collections
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 peopleQueue As New Queue()
        peopleQueue.Enqueue(scott)
        peopleQueue.Enqueue(bill)
        peopleQueue.Enqueue(srini)

        Dim x As Person = CType(peopleQueue.Dequeue(), Person)
        Response.Write(x.FullName & "<BR/>")

        x = CType(peopleQueue.Dequeue(), Person)
        Response.Write(x.FullName & "<BR/>")

        x = CType(peopleQueue.Dequeue(), Person)
        Response.Write(x.FullName & "<BR/>")
    End Sub
End Class








7.9.Queue
7.9.1.Queuing Person objects (C#)
7.9.2.Queuing Person objects (VB)