数组和集合对象

1 System.Array介绍

  Array类是一个抽象的基类,我们不能用如下方式创建一个Array类的实例

Array myArray=new Array();

  但它提供了CreateInstance构建数组

Array myArray=Array.CreateInstance(typeof(string),10);

2.System.Array方法

  BinarySearch 使用二进制搜索方法搜索一维排序数组中的某人值

  Clear 将数组中的一组元素设为0或null

  CreateInstance 初始化Array类的新实例

  GetLength 指定给定维数的数组的元素总个数

  GetLowerBound 指定给定数组的下界

  GetUpperBound 指定给定数组的上界

  GetValue 返回给定数组中指定元素的值,该元素可通过指定位置索引来指明

  IndexOf 返回给定值在一维数组中第一次出现时的位置索引

  Sort 对数组元素进行排序

3.System.Collections 介绍

  System.Collections 是一个命名空间,这个命名空间提供一组接口和类,使用户能够对一组数据元素执行集合操作

  类:

  Hashtable:存储键值对,这些键值对是根据键编码来组织的

  SortedList:组织对象并允许通过索引或键值来访问这些对象

  接口:

  ICollection 为所有集合定义大小、枚举器和同步方法

  IEnumerator 对整个集合的简单循环和列举,可以使用派生自IEnumerator 的IDictionaryEnumerator 来枚举字典中的元素

  IList 通过索引进行单独访问的对象的集合

  结构:

  DictionaryEntry 定义可以设置或检索的字典键值对

4.Hashtable 类

  Hashtable 类将数据作为一组键值对来存储,这些键值对是根据键的编码来组织的

using System;

using System.Collections.Generic;

using System.ComponentModel;

using System.Data;

using System.Drawing;

using System.Linq;

using System.Text;

using System.Windows.Forms;

using System.Collections;



namespace BaseConsole

{

    

    public partial class HashtableExample : Form

    {

        private Hashtable _hashtable = new Hashtable();

        public HashtableExample()

        {

            InitializeComponent();

        }

      



        private void btnAdd_Click(object sender, EventArgs e)

        {

            try

            {

                //将元素添加到哈希表

                _hashtable.Add(txtKey.Text,txtValue.Text);

            }

            catch(Exception ex)

            {

                MessageBox.Show("产生系统错误。");//产生未知错误

                Application.Exit();

            }

            lstAddedKey.Items.Add(txtKey.Text);

        }



        private void lstAddedKey_SelectedIndexChanged(object sender, EventArgs e)

        {

            string selectedItem = lstAddedKey.SelectedItem.ToString();

            string selectedValue = (string)_hashtable[selectedItem];//检索对象

            txtSelectedValue.Text = selectedValue;

        }

    }

}

结果:数组和集合对象

5.ArrayList 类

  Array类属于System命名空间,ArrayList类属于System.Collections命名空间

   属性:

   Capacity:指定数组列表可以包含的元素个数,默认容量为16

   方法:

   Contains:检查给定元素是否属于数组列表

   Insert:将给定元素插入数组列表中指定的索引位置

   Remove:从数组列表中移除第一次出现的给定对象

   RemoveAt:移除数组列表中特定索引位置的元素

   TrimToSize:定义数组列表中实际元素个数

using System;

using System.Collections.Generic;

using System.ComponentModel;

using System.Data;

using System.Drawing;

using System.Linq;

using System.Text;

using System.Windows.Forms;

/**/

using System.Collections;



namespace BaseConsole

{

    public partial class frmArrayListExample : Form

    {

        private ArrayList _arrPerson = new ArrayList();

        public frmArrayListExample()

        {

            InitializeComponent();

        }

      

        private void btnAdd_Click(object sender, EventArgs e)

        {

            _arrPerson.Add(this.txtPersonName.Text);

            lstMessage.Items.Clear();

            lstMessage.Items.Add("数组的容量是:"+this._arrPerson.Capacity.ToString());

            lstMessage.Items.Add("数组的元素个数是:"+this._arrPerson.Count.ToString());

            lstMessage.Items.Add("---------------------------------------------------");

            foreach(string personName in _arrPerson)

            {

                lstMessage.Items.Add("元素:"+personName);

            }

            lstMessage.Items.Add("---------------------------------------------------");

            _arrPerson.TrimToSize();

            lstMessage.Items.Add("整理后的数组容量是:"+_arrPerson.Capacity.ToString());

        }



        private void btnSearch_Click(object sender, EventArgs e)

        {

            if (_arrPerson.Contains(txtSearchString.Text))

            {

                MessageBox.Show("存在这个元素。");

            }

            else

            {

                MessageBox.Show("不存在这个元素。");

            }

        }

    }

}

 结果:数组和集合对象

 

你可能感兴趣的:(数组)