标签:指定 foreach 对象 数据类型 编译 情况下 gen end 常用
集合:某些指定的对象(SE)集中在一起就是集合
如下是一个Hello Kitty的集合
数组:可以存储相同数据类型的一堆数据的容器
01.引子:
用ArrayList进行赋值的时候,需要使用Add()
但是对集合中元素的修正可以使用下标,eg.list[0]=1给新值
但是在集合中元素个数为0的情况下,不能用Add()方法之外的其他手段给集合中添加元素.
数组的局限性:由于给数组中添加元素,删除元素的时候,特别麻烦,所以我想找一个替代数组的工具,来帮我们实现数组所能实现的功能。集合应运而生.
使用ArrayList首先需要引入命名空间
集合动态扩容原理:如果集合中元素个数为0,并没有开辟空间
02.构造函数
概念:给类定义一个方法,方法名和类名相同,没有返回值,连void都不能有。
03.非泛型集合在使用前,一定要先导入命名空间。
04.命名空间
保证在不同的命名空间下可以出现同名类。
weilengdeyu.Download()
Weiredeyxue.UPLoad()
1.常见属性:
Capacity:集合占用空间
Count:集合存储元素个数
2.常用方法:
添加:int Add(Object value) //添加一个对象到集合的末尾
遍历:通过foreach遍历
删除:Remove()、RemoveAt()和Clear()
*:注意事项:如果删除了集合中的某一个元素,那么集合的索引会自动维护
Remove():删除内容
RemoveAt():通过索引删除
Clear():一次性移除集合中所有的元素
Contains():是否包含某个元素
3.常见错误:见PPT
写自己的组件:其实就是你在微软已有的组件上进行第二次封装。例如
保证在TextBox中只能输入数字。
比如说,现在TextBox内容你想要按照自己特定的格式打印。自己在TextBox动手脚,然后让他支持对应格式的打印。
--01.ArrayList
删除方法,包含,
02.命名空间
同名类便于区分,加快检索硬盘上某个类的速度
Using System.Collections
Using System.Collections.Generic; //泛型命名,默认导入
03.var :隐式类型推断
最后一个问题:
int num=5;
04.HashTable
第一个:删除
没有RemoveAt()
第二个:
三个方案:根据key拿到value
只能拿到value
DictionayEntry
Foreach( DictionayEntry item in table)
{
item.Value
//命名空间.类名
}
第三个:HashTable是一种无序的双列集合。
第四个:ContainsKey()
ArrayList engineers = new ArrayList()
{
new SE(){Name = "周星星",Age = 26,
Gender = Gender.male,ID = "000",Popularity = 10},
new SE(){Name = "王贱贱",Age = 22,
Gender = Gender.female,ID = "111",Popularity = 20},
new SE(){Name = "周姐姐",Age = 30,
Gender = Gender.male,ID = "222",Popularity = 20}
};
Hashtable 通常称为哈希表
根据键(Key)可以查找到相应的值 (Value)
1.HashTable注意事项
01.HashTable类型的集合只能用foreach循环遍历,因为没有索引
02.HashTable集合中元素是无序的(不会按照Add的顺序来展示元素内容)
03.HashTable中的key不能重复
04HashTabel没有RemoveAt()
2.对HashTable遍历三种方案:
☆:第一种方式,遍历所有的keys,通过key的值获取value
☆:第二种方式:遍历所有的value集合
☆:第三种方式,同时遍历key和value
六、泛型集合List<T>
泛型:就是为了约束ArrayList中元素类型,而制定的一个新的集合类型,该类型只能加入同一类型的多个元素,标识符<T>,可以看成是一个占位符,泛型是将运行时错误提前到了编译时
Dictionary<string,Person> dic=new Dictionary<string, Person>();
标签:指定 foreach 对象 数据类型 编译 情况下 gen end 常用
原文地址:http://www.cnblogs.com/ppdpp/p/7635557.html