Mega Code Archive

 
Categories / ASP.Net Tutorial / Collections
 

Creating a list of Person objects using generics (VB)

<%@ 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 System.Collections.Generic 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", "F")         Dim bill As New Person("B", "E")         Dim srini As New Person("C", "D")         Dim people As New List(Of Person)         people.Add(scott)         people.Add(bill)         people.Add(srini)         For Each p As Person In people             Response.Write(p.FullName & "<BR/>")         Next         For i As Integer = 0 To people.Count - 1             Response.Write(people(i).FullName & "<BR/>")         Next     End Sub End Class