arraylist,list,Dictionary

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
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值