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

王朝c#·作者佚名  2006-12-17
宽屏版  字体: |||超大  

对象和结构化的数据

集合

作为集合的数组:下面是一个简单的例子:

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

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
© 2005- 王朝网络 版权所有