在net环境下,我们可以使用ArrayList和Hashtable来充当数据;
ArrayList相当于一维数组;
Hashtable相当于二维数组;
但是两者比数据更加灵活;数组只允许使用定长的数组,即,申明数组的时候,或再次定义数组的时候,我们都必须对其成员作一个定义,即给数组定义一个下标;
对于不可预料的数据,使用数组来储存,麻烦就非常大了,比如,您的数据行的数量范围是:100条到200条之间,但是具体是多少,您亦不知,具体数据行还得看实际应用或查询来确定,这个时候,假设我们使用数组来保存数据,那么我们该如何来定义数组的下标呢?或许,您可能会回答,对于数据量不到的数组,直接将其下标定义为100000,那不就得了;首先肯定,这没错;但是我们都一致认为,这不可取,也不科学;这不仅会造成资源的浪费,还会造成读取数据的盲目性!
ArrayList和Hashtable的使用,正是为这种问题的需求应运而生的!
使用之前,我们先将必要的命名空间先引入,最好做个万全之计,经常使用到的一并引用先!如下代码:
using System;
using System.Data;
using System.Configuration;
using System.Collections;
using System.Web;
using System.IO;
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.Security; //加密
using System.Text;
using System.Data.SqlClient;
①“一维数据”ArrayList的定义及使用示例
ArrayList TeaName = new ArrayList();//定义一;
或:
ArrayList TeaName ;//定义二;
TeaName = new ArrayList();//定义二;
赋值使用示例:
for(int i=0;i<=9;i++)//赋值
{
TeaName.Add(i.ToString().Trim());
}
数据读取示例:
for(int j=0;j<TeaName.Count;j++)//获取TeaName的成员个数
{
Response.Write(TeaName(i).ToString().Trim());
}
②:“二维数据”Hashtable的定义及使用示例
用法与一维数组类似,只不过增加了一个键名;
Hashtable MyHashtable1 = new Hashtable();
for(int i=1;i<=88;i++)
{
MyHashtable1.Add(i+1,i.ToString().Trim());
}
foreach(DictionaryEntry MyDe in MyHashtable1)
{
Response.Write("键名是:"+MyDe.Key);
Response.Write("键值是:"+MyDe.Value+"<br>");
}
本文到处结束,希望您能灵活应用这两种“数组”!