arraylist,list,Dictionary

来源:互联网 发布:淘宝注册名字大全 编辑:程序博客网 时间:2024/06/07 10:10

1.使用相对较多的属性和方法:

1),count属性和capacity属性

Count属性是目前ArrayList包含的元素的数量,这个属性是只读的。
Capacity属性是目前ArrayList能够包含的最大数量,可以手动的设置这个属性,但是当设置为小于Count值的时候会引发一个异常

实例1:随机抽取数据,并且是不重复的偶数

ArrayList array = new ArrayList();
            
            while (true)
            {
                Random random = new Random();
                int numb = random.Next(1, 101);
                if (numb % 2 == 0 && !array.Contains(numb))
                {
                    array.Add(numb);
                }
                if (array.Count==10)
                {
                    break;
                }
            }
            foreach (var item in array)
            {
                Console.Write(item+",");
            }
            Console.ReadKey();


2),Add、AddRange、Remove、RemoveAt、RemoveRange、Insert、InsertRange、Clear、Contains(查询数据是否存在数组中)

Add、AddRange、Remove、RemoveAt、RemoveRange、这些方法的使用基本相同

3),ToArray将数据copy到另一个数组中

//将两个数组合并并将重复的除去
            ArrayList array1 = new ArrayList() { "a","b","c","d","e"};
            ArrayList array2 = new ArrayList() { "d","e","f","g","h"};
            array1.AddRange(array2);
            //var result = array1.Cast<string>().Distinct().ToArray();
            var result = array1.Cast<string>().Distinct().ToArray();

//Cast<>()将类型强制转换,Distinct()去除重复数据
            //Console.Write(result);
            for (int i = 0; i < result.Length; i++)
            {
                Console.Write(result[i]);
            }
            Console.ReadKey();

2.ArrayList与数组转换

 ArrayList List = new ArrayList();
            List.Add(1);
            List.Add(2);
            List.Add(3);
            Int32[] values = new Int32[List.Count];
            List.CopyTo(values);
            foreach (var item in List)
            {
                Console.Write(item);
            }
            Console.ReadKey();

3.List<T>泛型,是ArrayList的升级版,它将插入的数据类型固定了

4.Dictionary<>,Hashtable,都是使用的键值对

Dictionary实例:

#region 英汉翻译
            string[] filestr = File.ReadAllLines(@"E:\CSDN\20140311内存管理\英汉词典TXT格式.txt");
            string[] str = null; 
            Dictionary<string, string> dic = new Dictionary<string, string>();
            for (int i = 0; i < filestr.Length; i++)
            {
                str = filestr[i].Split(new char[]{' '},StringSplitOptions.RemoveEmptyEntries);
                //dic.Add(str[0],str[1]);
                dic.Add(str[0], str[1]);
            }
            string wordstr = this.txbEnglish.Text;
            if (dic.Keys.Contains(wordstr))
            {
                this.txbChinese.Text = dic[wordstr];
            }
            else { label1.Text="不存在此单词"; }
            #endregion





0 0
原创粉丝点击