为了账号安全,请及时绑定邮箱和手机立即绑定

【金秋打卡】第2天 Array与Collection

标签:
C#

学习课程名称:C#速成指南--从入门到进阶,实战WPF与Unity3D开发

章节名称(序号):12 Array与Collection

讲师姓名:阿莱克斯刘



课程内容:

所有集合必须实现ICollection。

List<T>

Queue<T>

可以储存无限个元素,任何一个集合都支持排序,复制,删除,添加。

  • 数组Array 固定长度,有明确的顺序,声明或赋值后长度不可以变化。 String[ ]

  • List<string>,长度可变,通过add方法添加元素。=》IList<string>,LIST长度达到上限后,会动态增加长度。通过构造参数可以初始化。addrange、add、insert、insertrange,removeat。removeall(i => i =="monday")

    string.join(','icollection)

  • ArrayList,和List很像,不支持泛型,通过Object可以添加任意类型,存在拆箱 装箱。不建议用,在提取数据的时候还需要特殊转化。

读取列表:

迭代器Enumerator,把集合中的数据访问。

var enumerater = daysofweek.getEnumrator();

enumerate.current

enumrate.movenext() 指向最后一个元素返回false


while(enu.movenext()){

    console.writeline(enum.current);

}


foreach(var enum in days){

    console.writeline()

}

在用迭代器遍历数据的时候不可以增加和删除元素,也不可以更改数据,理解成只读数据即可。

如果元素是引用类型,只要地址不变,地址里面存放的内容变化是可以的。值类型不可以该。


IEnumerable VS IEnumeraor ?

IEnumerable <T> 


yield return 懒加载提高效率。除非必要否则不创建。


数据搜索:字典

DICT<KEY,VALUE>


集合的交并差运算:

HashSet


学习收获:

在集中中添加元素并且需要遍历访问的时候,要考虑yeild return是否具有使用场景,通过benkmark性能测试在内存上有巨大提升。



打卡截图:

https://img1.sycdn.imooc.com//6357506a0001650805580317.jpg


















点击查看更多内容
1人点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
今天注册有机会得

100积分直接送

付费专栏免费学

大额优惠券免费领

立即参与 放弃机会
意见反馈 帮助中心 APP下载
官方微信

举报

0/150
提交
取消