学习课程名称: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性能测试在内存上有巨大提升。
打卡截图:
共同学习,写下你的评论
评论加载中...
作者其他优质文章