ASP.NET Tutorial/Collections/List

Материал из .Net Framework эксперт
Версия от 14:57, 26 мая 2010; Admin (обсуждение | вклад) (1 версия)
(разн.) ← Предыдущая | Текущая версия (разн.) | Следующая → (разн.)
Перейти к: навигация, поиск

Generics

   <source lang="csharp">

<%@ 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">

Using Generics

     These two list boxes illustrates the use of two Generic List 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 Generic Dictionary collection
     <asp:ListBox ID="lboxDictionary" runat="server" 
        DataTextField="Value"
        DataValueField="Key" />            
   </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 > 0 && LastName.Length > 0)
           return true;
        else
           return false;
     }
  }
  public override string ToString()
  {
     return Id + "," + Name + "," + Phone; 
  }

}</source>