2012.4.19 C#基础学习笔记
——张伟
里氏转换:
Person p1 = new Person();Strudent stu = new Student();
Person p2 = stu;
Student stu2 = (Student)p1;
is 或者 as :
->判断 两者的区别
->先判断再转换
Hashtable
->可以添加 和 删除
hsb.Contains("234");
hsb.ContainsKey(123);
两种方法 都是 找里面的键 存不存在,没什么不一样,就是查找这个 hashtable 里面 有没有这个键
因为 Hashtable的add()方法里 的参数是obj类型
foreach 语法的用法:
foreach(要循环访问的集合中对象的类型 表示集合中的元素的标识符 in 要循环访问的集合或数组的名称)
{
}
循环的过程
-> 总是从开始,一直循环到结束,中间不会停下来,除了break
临时变量的类型
-> 设断点查看
-> 使用var判断
1、泛型集合
就是为了专门处理某种类型
ArrayList对应的是 List<类型名>
-> 在尖括号中写什么类型,这个集合就变成了什么类型的集合
-> 添加数据、插入数据、索引访问数据都是这个类型的,不用考虑所有的转化问题
Hashtable对应的是 Dictionary<键的类型, 值的类型>
-> 在尖括号中填入键的类型与值的类型,那么这个集合就变成了一个指定的键值对模型
-> 其使用方式与Hashtable一样
2、Hashtable
ArrayList为什么要有ArrayList
-> 因为数组的长度问题
-> 提供很多方法
泛型集合
List<T>集合 与Arrayist的区别是什么?
-> 类型可以自定义
Hashtable集合,为什么要有这个集合
-> 查找
-> 想要查找,就得有一个对应关系
-> 就是通过键值来提供
-> 就需要将键与值用一种办法绑定到一起
-> Add(键, 值)
-> 访问键的时候,可以直接找到值
-> 用什么方法,通过键访问到值
-> hashtable[键] 返回一个值
-> 但是hashtable中都是object类型,因此使用时要考虑强传
泛型集合
Dictionary<TKey, TValue>集合 与Hashtable的区别
还是类型问题
泛型类型
List<类型名>
用int做示例
1、创建:
List<int> intList = new List<int>();
2、加数据
intList.Add(int类型的数据);
intList.AddRange(int类型的数组与集合);
3、插入数据
intList.Insert(位子索引, 要插入的数据);
4、移除
intList.Remove(要删除的数据);
intList.RemoveAt(要删除的索引);
5、清空
intList.Clear();
6、如何获得集合的长度
intList.Count
7、怎么访问某一个数据
intList[index];
8、如果想要修改索引为8的数据
intList[8] = 80;