---------------------- Windows Phone 7手机开发、.Net培训、期待与您交流! ---------------------- ----------------------
数组:继承自 Array类。
命名空间:using System.Collections.Generic;
数组的长度为固定的。
方法:提供创建、操作、搜索和排序数组的方法。下面都是静态的,使用时前面加上 Array
BinarySearch():使用二进制(二分法)搜索值,但之前要排序。
Clear():将Array一系列元素设定为零、false或null,具体依数组的类型。要指定范围。
ConstrainedCopy():将源Array复制到另一个Array。可以设定范围,未成功则回滚。
Copy():一个Array中的一部分复制到另一个Array中。
CopyTo():将当前Array的所有元素复制到另一个Array中。
IndexOf():返回Array中某个值的第一个匹配项的索引。
Sort():对Array中的元素进行排序。升序。
属性:
IsFixedSize: 指示Array是否具有固定大小。
IsReadOnly:指示Array是否只读。
Length:表示Array中所有维数中元素的个数。
实例代码:
public int [] sz;//初始化数组的大小
public bool szbl = false;
private void button1_Click(object sender, EventArgs e)
{
sz =new int[]{ 2, 3, 5, 1, 9, 6 }; //初始化6个元素
Msg("数组初始化成功!");
szbl = true;
}
public void Msg(string s)
{
txtMsg.AppendText(s+"\r\n");
}
private void btnAyLength_Click(object sender, EventArgs e)
{
if (szbl == false)
{
MessageBox.Show("请先初始化数组");
return;
}
int i = sz.Length;//返回数组的长度,元素的个数;
string s = string.Format("数组的容量为{0}", i);
Msg(s);
}
private void btnAyIndexOf_Click(object sender, EventArgs e)
{
if (txtAy.Text.Trim() == "")
{
MessageBox.Show("查询栏不得为空!");
return;
}
int i = int.Parse(txtAy.Text.Trim()); //获取查询的值
int zb = Array.IndexOf(sz, i); //查询方法 Array.IndexOf()
string s;
if (zb == -1)
{
s = string.Format("未找到这个数字!");
}
else
{
s = string.Format("已找到,是第{0}个位置!",zb+1);
}
Msg(s);
}
private void btnAySort_Click(object sender, EventArgs e)
{
string s="";
foreach (int ys in sz)
{
s += ys.ToString() + " ";
}
Msg(s);
Msg("排序后的元素");
s = "";
Array.Sort(sz); //排序的方法,从小到大。
foreach (int ys in sz)
{
s += ys.ToString() + " ";
}
Msg(s);
}
private void btnCopyTo_Click(object sender, EventArgs e)
{
string s="";
int[] xsz = new int[sz.Length];
Array.Copy(sz, xsz, sz.Length); //从一个Array复制到另一个Array
foreach (int ys in sz)
{
s += ys.ToString() + " ";
}
Msg("老数组:");
Msg(s);
s = "";
foreach (int ys in xsz)
{
s += ys.ToString() + " ";
}
Msg("新数组:");
Msg(s);
}
private void btnClear_Click(object sender, EventArgs e)
{
Array.Clear(sz,0,sz.Length); //清空数组,参数为范围
Msg("清空数组成功!");
}
集合: ArrayList类
命名空间为:using System.Collections;
具有常规数组的类似功能,并能动态调整集合的大小。
向当前大小少于其容量的ArrayList插入元素非常快,向需要增大空间来容纳新元素的ArrayList插入元素比较慢。
如果ArrayList需要增大容量,默认情况下会将容量增大为当前值的2 倍。
方法:
Add:将对象添加到ArrayList的结尾处。
AddRange:可以将集合添加到此ArrayList中。
Clear:移除所有的元素。
Contains:确定某元素是否在ArrayList中。
IndexOf:返回指定对象第一次出现时的索引值。
Remove:移除指定对象的第一个匹配。
RemoveAt:移除指定索引位置上的对象,后面的对象下标向前移动。
Sort:对ArrayList进行排序。升序。
TrimToSize:将Capacity的大小设为当前所包含的元素的个数。
属性:
Capacity:获取或设置ArrayList可包含的元素值。
Count:获取ArrayList实际包含的元素数。
代码示例:
public void Msg(string s)
{
txtMsg.AppendText(s + "\r\n");
}
public ArrayList jihe;
private void btnAylistIn_Click(object sender, EventArgs e)
{
jihe = new ArrayList {3,5,6,9,2,1 }; //初始化集合
Msg("集合初始化成功!");
}
private void btnAyLCount_Click(object sender, EventArgs e)
{
int i = jihe.Count; //获取集合的元素总数
string s = string.Format("集合内的元素为{0},允许的元素为{1}",i,jihe.Capacity);
Msg(s);
}
private void btnAyLSort_Click(object sender, EventArgs e)
{
string s = "";
foreach (int ys in jihe)
{
s += ys.ToString() + " ";
}
Msg(s);
Msg("排序后的元素");
s = "";
jihe.Sort(); //对集合进行排序,升序。
foreach (int ys in jihe)
{
s += ys.ToString() + " ";
}
Msg(s);
}
private void btnAyLIndex_Click(object sender, EventArgs e)
{
if (txtAyList.Text.Trim() == "")
{
MessageBox.Show("查询栏不得为空!");
return;
}
int i = int.Parse(txtAyList.Text.Trim()); //所要查询的值
int zb = jihe.IndexOf(i); //根据值查询下标,如果不存在 返回-1
string s;
if (zb == -1)
{
s = string.Format("未找到这个数字!");
}
else
{
s = string.Format("已找到,是第{0}个位置!", zb + 1);
}
Msg(s);
}
private void btnAyLadd_Click(object sender, EventArgs e)
{
if (txtAyList.Text.Trim() == "")
{
MessageBox.Show("查询栏不得为空!");
return;
}
int i = int.Parse(txtAyList.Text.Trim());
jihe.Add(i); //调用.Add方法,向集合添加元素
string s = string.Format("加入的元素为{0}", i);
Msg(s);
}
private void btnAyLClear_Click(object sender, EventArgs e)
{
jihe.Clear(); //移除集合的所有元素
Msg("移除了集合的所有元素!");
}
数组与集合的区别:
1.数组大小固定,集合可以调整。
2.获取元素的总算:数组的属性是Length ,集合的是Count。
3.清空元素的值:都是调用Clear方法,数组需要有范围:第二个参数为起始的下标,第三个参数为要清空的长度。 集合直接调用Clear()清空所有的元素。
---------------------- Windows Phone 7手机开发、.Net培训、期待与您交流! ---------------------- ----------------------