集合

1.数组的问题
 一旦声明的时候指定了数组大小,后面使用时就不可以动态扩充了。即:int[ ]  num=new int[3];   num[3]=4是不能别加入数组num中的,因为数组的长度已经定义好了。

为了解决这个问题可以通过定义ArrayList类。

2.ArrayList的优点
 不受初始大小的限制,后面使用时可以随意扩充 无论是什么类型,添加到ArrayList集合中后,都会转换成object类型,当你取出来的时候,其就是object类型。

第一种定义方式:

ArrayList array = new ArrayList();
            array.Add(1);
            array.Add(2);
            array.Add(3);

在定义是不写出定义的长度。

第二种定义方式:

 ArrayList array = new ArrayList(3);
            array.Add(1);
            array.Add(2);
            array.Add(3);

即在定义是写出定义长度,但与数组不同不同的是可以动态扩展。

明明已经加入三条但还可以再加入例如加入下面一条:

array.Add("你好");

ArrayList还可以加入一个类例如下面的代码:

static void Main(string[] args)
        {

         ArrayList array = new ArrayList(3);

           Banji banji = new Banji()
            {
                Name = "NET班",
                Numb = 41
            };
            array.Add(banji);

        }

 class Banji
    {
        public string Name { get; set; }
        public int Numb { get; set; }
        public int Basketball()
        {
            return 100;
        }
    }

但是读取出来的是object类型,所以要转换一下类型才可以读出。

 Banji newbanji = array[0] as Banji;//as关键字将基类转换为Banji类,又新建一个变量来存储。
            Console.WriteLine(newbanji.Name+","+newbanji.Numb);

另一种方式:

 foreach (Banji item in array)
            {
                Console.WriteLine(item);
            }

为了更加优化读取时的问题,所以要定义LIST集合类。既能控制输入的类型又能动态添加。

3.List<类型> 变量名=new List<类型>();
 和ArrayList  array=new ArrayList();基本一样,能够使用add方法方便的进行数据存储;另外使用时可以动态扩充大小,同时其只能存储声明时指定的数据类型。

 List<Banji> list = new List<Banji>();
            Banji banji = new Banji()
            {
                Name = "NET",
                Numb = 41
            };
            list.Add(banji);

            Banji b = list[0];
            Console.WriteLine(b.Name+","+b.Numb);
           
            Console.ReadKey();

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

猿猿网页设计(yywyss365)

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值