从零开始自学C#基础的最后一天——集合
一,开始学习
- .NET Framework提供了用于数据存储和检索的专用类,这些类提供对堆栈,队列,列表和哈希表的支持,大多数集合类实现相同的接口,可继承这些接口来创建适应更为专业的数据存储需要的新集合类。
特点:
- 集合类定义为Syetem.Collections或System.Collections.Generic命名空间的一部分。
- 大多数集合类都派生自ICollection,IComparer,IEnumerable,List,IDictionary和IDictionaryEnumerator接口以及它们的等效泛型接口。
- 使用泛型集合类可以提供更高级别的类型安全性,在某些情况下还可以提供更好的性能,尤其是在存储值类型时,这些优势会体现得更明显。
集合的对象
System.Collections命名空间包含接口和类,这些接口和类定义各种对象的集合。
ArrayList,List:使用大小可自动调整的数组实现IList接口。
BitArray:管理位值的压缩数组,该值表示布尔值,其中true表示位是打开的(1),false表示位是关闭的(0)
CollectionBase:为强类型集合提供abstract基类
Hashtable:表示键/值对的集合,这些键/值对根据键的哈希代码进行组织
Queue:表示对象的先进先出集合
SorteList:表示键/值对的集合,这些键值对按键排序并可按照键和索引访问
Stack:表示对象的简单的后进先出非泛型集合。
用集合对象的使用:
1,List
- 第一个常用的类是List(T),表示可通过索引访问的对象的强类型列表,提供用于对列表进行搜索,排序和操作的方法。
- Contains方法测试该列表中是否存在某个项,Insert方法在列表中间插入一个新项,然后再次显示列表的内容。
- Item属性用于检索项,Remove方法用于移除前面添加的重复项的第一个实例。
2,HashTable
- 表示“键/值”对集合,通过键值映射,可以保存和获取成对的数据,并可以通过键来获取某一个数值。
- 属性:
- Add:添加键值对
- ContainsKey:检查是否存在键值
- ContainsValue:检查是否存在值
- Remove:删除指定键的值
3,SortedList
- 表示键值对的集合,这些键值对按键排序并可按照键和索引访问,另外,也可以利用该类进行字典方式输出处理。
代码使用了Capacity属性,它是ArrayList可以存储的元素数,Count是ArrayList中实际存储的元素数。
二,小结
1,.NET Framework提供了用于数据存储和检索的专用类,这些类提供对堆栈,队列,列表和哈希表的支持,大多数集合类实现相同的接口,可继承这些接口来创建适应更为专业的数据存储需要的新集合类。
2,使用泛型集合类可以提供更高级别的类型安全性,在某些情况下还可以提供更好的性能,尤其是在存储值类型时,这些优势会体现得更明显。
三,
额,我倒是没想到我能从2月1日坚持到现在才学完C#基础部分的,我之前的初衷不过是做一款小游戏,以前去学过Py,但这个做游戏太麻烦,找来找去,就找到了Unity,但需要会打C#代码,所以我学到了现在,至少看Unity教程里的游戏部分代码不会吃力了,至于有遗漏部分的,会去学习的,所以不会发这些了,放慢一下学习速度,最近都掉头发了。
至于以后会发些什么,我之前想了想,就发一些我如何做的3d模型,都好久没重温了,这想法对我来说是有利的,因为剪视频的话会重新稳固Pr的知识,要做特效就能稳固Ae的知识,自己课程学的是Maya和3d,这两个操作不一样,所以以防后面我忘了的话就去翻视频看看,这里也可以当做大型u盘,不过是开放的,你们看了也乐呵一下,也许坚持到毕业那天我就能熟练掌握3d max和Maya呢!