C#第6讲:集合ArrayList、List;字典Dictionary;foreach遍历;匿名函数、Lambda、委托、Action/Func

一、数组的优劣势

1、优势

  • 数组在内存中是连续存储的,所以它的索引速度是非常的快,而且赋值与修改元素也很简单。

2、劣势

  • 在数组的两个数据间插入数据很麻烦。

  • 在声明数组的时候, 必须同时指明数组的长度,数组的长度过长,会造成内存浪费,数组和长度过短,会造成数据溢出的错误。

二、集合:类似数组,都用于存放一组值

三、ArrayList集合

  • ArrayList是.NET Framework提供的用于数据存储和检索的专用类
  • 它是命名空间System.Collections下的一部分

1、ArrayList的优势

  • ArrayList 的大小是按照其中存储的数据来动态扩充与收缩的
  • 在声明ArrayList对象时并不需要指定它的长度
  • ArrayList可以很方便的进行数据的添加,插入和移除

2、举例

在两个数值之间用insert插入新的值。

四、List集合

1、为什么要使用List?——ArrayList的劣势:不安全类型、装箱拆箱

(1)ArrayList 存储数据时使用object类型进行存储的。

        object类是所有类(int类、string类、自己写的类等)的父类,父类可以接受子类的数据,子类不能接受父类的数据【有容乃大,博大的父爱】。

(2)ArrayList 不是类型安全的,使用时很可能会出现类型不匹配的错误。

        因为ArrayList是Object类型,所以当子类变成父类后,它就直接从他现有的类型变成了object。那么我们在使用时,这个object究竟是个什么类型系统就不知道了,所以使用时很可能会出现类型不匹配的错误。

(3)ArrayList 的存储存在 装箱和拆箱 操作,导致其性能低下。

        就算都有插入了同一类型的数据,但在使用的时候,我们也需要将它们转化为对应的原类型来处理。

2、List集合的使用

(1)List集合的声明

(2)举例

(3)自己创建的类型可以限定List售合的数据举型

<1>法1:

<2>法2:下图中上面红框内的。更推荐使用。

        1>注意:类每次new都是开辟一个新的内存地址,就算里面的内容一样但也不是一个东西。所以下面红框中的Remove认的是地址,想要删除里面得填person2,填person1删除无效。

        2>更推荐的原因:如下图,下面红框里的可以直接赋值粘贴上面红框里的,这样添加数据更方便。

五、字典Dictionary

1、Dictionary理解:同c++的map映射

2、Dictionary声明、Dictionary使用

(2)举例

<1>三种赋值方法
1>法1:Add方法赋值:Add 方法不可以添加已有键的值。

2>法2:索引器赋值:类似于数组索引器的使用,既可以
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

小吴同学·

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

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

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

打赏作者

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

抵扣说明:

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

余额充值