坚持学asp.net——(十二)

类别:.NET开发 点击:0 评论:0 推荐:

对象和结构化的数据

集合


作为集合的数组:下面是一个简单的例子:
<%@Page Language="c#" %>
<script runat="server" Language="c#">
  void Page_Load()
  {
    string[] AnimalArray = new string[5]
                           {  "Dog", "Cat", "Elephant", "Lion", "Cat"};
    MyLabel.Text = AnimalArray.GetValue(2).ToString()+"<font color=red> "+Array.IndexOf(AnimalArray,"Cat")+"</font>";
  }
</script>
<html>
  <asp:label id="MyLabel" runat="server" />
</html>

这个程序输出显然是:Elephant。

下面是一个对数组中某处遍历的程序:
<%@Page Language="c#" %>
<script runat="server" Language="c#">
  void Page_Load()
  {
    int intCounter = -1;
    string[] AnimalArray = new string[5]
                {  "Dog", "Cat", "Elephant", "Lion", "Cat"};
    do
    {
      intCounter = Array.IndexOf(AnimalArray, "Cat", intCounter+1);
      MyText.InnerHtml += "AnimalArray[" + intCounter + "]<br/>";
    } while (intCounter != Array.LastIndexOf(AnimalArray, "Cat"));
  }
</script>
<html>
  The string "Cat" occurs in the following elements:
  <br/>
  <div id="MyText" runat="server" />
</html>

颠倒数组中元素的顺序:Array.Reverse(Array1);
将元素排序:Array.Sort(Array1);

使用数组:

<%@Page Language="c#" %>
<script runat="server" Language="c#">
  void Page_Load()
  {
    string[] AnimalArray = new string[5]
                 { "Dog", "Cat", "Elephant", "Lion", "Cat" };
    Array.Reverse(AnimalArray);
    foreach (string strAnimal in AnimalArray)
    {
      MyDropDownList.Items.Add(strAnimal);
    }
  }
</script>
<html>
<form id="Form1" method="post" runat="server">
<asp:dropdownlist id="MyDropDownList" runat="server" />
</form>
</html>
 

数据绑定:
 集合的通用功能是:添加一对语句就可以将集合指定为数据源。
如前面的程序:

MyDropDownList.DataSource=AnimalArray;
 MyDropDownList.DataBind();

ArrayList
 

定义:ArrayLins MyArrayList=new ArrayList();
每一个新项都会自动添加到公文的末尾!
前面的程序可以修改成这样:

<%@Page Language="c#" %>
<script runat="server" Language="c#">
  void Page_Load()
  {
    ArrayList AnimalArrayList = new ArrayList();
    AnimalArrayList.Add("Dog");
    AnimalArrayList.Add("Cat");
    AnimalArrayList.Add("Elephant");
    AnimalArrayList.Add("Lion");
    AnimalArrayList.Add("Cat");
    MyDropDownList.DataSource = AnimalArrayList;
    MyDropDownList.DataBind();
}
</script>
<html>
<form id="Form1" method="post" runat="server">
 <asp:dropdownlist id="MyDropDownList" runat="server" />
</form>
</html>
ArrayList的一些方法:
添加:
MyArrayList.Add(“pig“);
插入:
MyArrayList.Insert(3,“long“);
删除:
MyArrayList.RemoveAt(3);
OR
MyArrayList.Remove(“cat“);

HashTable


创建HashTable:HashTable myHashTable=new HashTable(); 

添加值的两种方式:
myHashTable.Add([UK],“HongKong“);
 OR
myHashTable[UK]=“Hongkong“;

Hashtable.Add() 采用两个参数,一个用于键,一个用于值。两者都属于类型对象。为键传递的值是整数,因此必须将其装箱以便作为对象进行传递。为值传递的值是字符串,它是引用类型,因此不对字符串进行装箱。每答对一个得一分。

e.g.:
<%@Page Language="c#" debug="true"  %>
<script runat="server" Language="c#">
  void Page_Load(object source, EventArgs e)
  {
    Hashtable myHashtable = new Hashtable();
    myHashtable["UK"] = "United Kingdom";
    myHashtable["US"] = "United States";
    myHashtable["DE"] = "Germany";
    if (!(Page.IsPostBack))
    {
      foreach (DictionaryEntry Item in myHashtable)
      {
        ListItem newListItem = new ListItem();
        newListItem.Text = Item.Value.ToString();
        newListItem.Value = Item.Key.ToString();
        myDropDownList.Items.Add(newListItem);
      }
    }
  }
  void Click(object source, EventArgs e)
  {
    myLabel.Text = myDropDownList.SelectedItem.Value;
  }
</script>
<html>
  <form runat="server">
    <asp:dropdownlist id="myDropDownList" runat="server" />
    <asp:button id="myButton" runat="server" text="OK" Onclick="Click" />
    <br /><br />
    <asp:Label id="myLabel" runat="server" text="" />
  </form>
</html>

SortedList
 

类似HashTable,其中的值排序按照健值排序,而不是值!
 使用:
<%@Page Language="c#" debug="true"  %>
<script runat="server" Language="c#">
  void Page_Load(object source, EventArgs e)
  {
    SortedList mySortedList = new SortedList();
    mySortedList["armadillo"]="any of a family ... small bony plates";
    mySortedList["amaryllis"]="an autumn-flowering ... Hippeastrum or Sprekelia]";
    mySortedList["zebra"]="any of several fleet ... white or buff";
    mySortedList["artichoke"]="a tall composite herb ... cooked as a vegetable";
    if (!(Page.IsPostBack))
    {
      foreach (DictionaryEntry Item in mySortedList)
      {
        ListItem newListItem = new ListItem();
        newListItem.Text = Item.Key.ToString();
        newListItem.Value = Item.Value.ToString();
        myDropDownList.Items.Add(newListItem);
      }
    }
  }
  void Click(object source, EventArgs e)
  {
    myLabel.Text = myDropDownList.SelectedItem.Value;
  }
</script>
<html>
  <form runat="server">
    Pick a word from the list:
    <asp:dropdownlist id="myDropDownList" runat="server" />
    <asp:button id="myButton" runat="server" text="OK" Onclick="Click" />
    <br /><br />
    <b>Definition: </b>
    <asp:Label id="myLabel" runat="server" text="" />
  </form>
</html>

(380)

本文地址:http://com.8s8s.com/it/it43705.htm