Generics : List « Collections « ASP.NET Tutorial

Home
ASP.NET Tutorial
1.ASP.Net Instroduction
2.Language Basics
3.ASP.net Controls
4.HTML Controls
5.Page Lifecycle
6.Response
7.Collections
8.Validation
9.Development
10.File Directory
11.Sessions
12.Cookie
13.Cache
14.Custom Controls
15.Profile
16.Configuration
17.LINQ
18.ADO.net Database
19.Data Binding
20.Ajax
21.Authentication Authorization
22.I18N
23.Mobile
24.WebPart
25.XML
ASP.NET Tutorial » Collections » List 
7.8.1.Generics
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="UsingGenerics" %>

<!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 id="Head1" runat="server">
    <title>Using Generics</title>
</head>
<body>
    <form id="form1" runat="server">
   <div id="container">
      <h1>Using Generics</h1>
      These two list boxes illustrates the use of two <em>Generic</em> <code>List</code> collections
      
      <asp:ListBox ID="lboxStrings" runat="server"    />
       
      <asp:ListBox ID="lboxCustomers" runat="server" 
         DataTextField="Name"
         DataValueField="Id" />    

     This list boxes illustrates the use of a <em>Generic</em> <code>Dictionary</code> collection

      <asp:ListBox ID="lboxDictionary" runat="server" 
         DataTextField="Value"
         DataValueField="Key" />            
   </div>
    </form>
</body>
</html>

File: Default.aspx.cs

using System;
using System.Data;
using System.Configuration;
using System.Collections;
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;

using System.Collections.Generic;

public partial class UsingGenerics : System.Web.UI.Page
{
    protected void Page_Load(object sender, EventArgs e)
    {
       List<string> names = new List<string>();
       names.Add("A");
       names.Add("B");
       names.Add("C");

       lboxStrings.DataSource = names;
       lboxStrings.DataBind();

       string temp1 = names[2];

       Customer c1 = new Customer("1""A""AA""123-4567");
       Customer c2 = new Customer("2""B""BB""123-7823");
       Customer c3 = new Customer("3""C""CC""123-6383");

       List<Customer> customers = new List<Customer>();
       customers.Add(c1);
       customers.Add(c2);
       customers.Add(c3);

       Customer c = customers[2];
       customers[1= c;

       lboxCustomers.DataSource = customers;
       lboxCustomers.DataBind();

       Dictionary<string, Customer> dict = new Dictionary<string, Customer>();
       dict.Add(c1.Id, c1);
       dict.Add(c2.Id, c2);

       

       lboxDictionary.DataSource = dict;
       lboxDictionary.DataBind();
    }
}
public abstract class AbstractEntity
{

   private string _id;

  public AbstractEntity(string id)
  {
      _id = id;
  }


   public string Id
   {
      get return _id; }
      set _id = value; }
   }


   public abstract bool IsValid
   {
      get;
   }
}

public class Customer: AbstractEntity 
{
   private string _firstName;
   private string _lastName;
   private string _phone;

   public Customer(string id, string firstName, string lastName, string phone): base(id)
   {
      _firstName = firstName;
      _lastName = lastName;
      _phone = phone;
   }


   public string FirstName
   {
      get return _firstName; }
      set _firstName = value; }
   }
   public string LastName
   {
      get return _lastName; }
      set _lastName = value; }
   }
   public string Phone
   {
      get return _phone; }
      set _phone = value; }
   }
   public string Name
   {
      get return LastName + ", " + FirstName; }
   }

   public override bool IsValid
   {
      get
      {
         if (Id.Length > && LastName.Length > 0)
            return true;
         else
            return false;
      }
   }

   public override string ToString()
   {
      return Id + "," + Name + "," + Phone; 
   }
}
7.8.List
7.8.1.Generics
java2s.com  | Contact Us | Privacy Policy
Copyright 2009 - 12 Demo Source and Support. All rights reserved.
All other trademarks are property of their respective owners.