C#学习笔记  2007年12月20日

第十章第二节
 ArrayList类
定义方法:
ArrayList ArrayList_Name = new ArrayList();
填充数据:
foreach (var_type var_name in new var_type[N]{var_value1,var_value2,...,var_valueN}) {ArrayList_Name.Add(var_name);}
移除具备某值的第一个元素:
ArrayList_Name.Remove(var_value);
移除当前第N个元素(索引值从0开始,即索引值N-1的元素)
ArrayList_Name.RemoveAt(N);
ArrayList的长度:
ArrayList_Name.Count();
 Queue类
Queue特征:FIFO
定义方法:
Queue Queue_Name = new Queue();
填充数据:
foreach (var_type var_name in new var_type[N]{var_value1,var_value2,...,var_valueN}) {Queue_Name.Enqueue(var_value);}
清空队列:
while(Queue_Name.count != 0) Queue_Name.Dequeue();
 Stack类
Stack特征:LIFO
定义方法:
Stack Stack_Name = new Stack();
填充数据:
Stack_Name.Push(var_value);
清除数据:
Stack_Name.Pop();

决定Hashtable类和SortedList类暂时跳过去不看,用得到的时候再说 Page142~143
结论:貌似我还是比较喜欢for(;;)虽然foreach比较可以偷懒

第十一章 参数数组
用于解决参数数量问题,避免编写庞大的构造函数
params数组
定义方法:
public static methond_return_type methon_name(params params_list_name[] prramList) {...}
值得注意的提示:
1.只能在一位数组上使用params关键字
2.不能重载一个只基于params关键字的方法(没看懂)
3.不允许ref/out params数组
4.params数组必须是方法的最后一个参数  e.g. public static int Min(int i,int j,params int[] paramList)
5.不允许任何有歧义的重载(例如(int,params int[] paramList)和(params int[] paramList))
6.非params方法优先于params方法(override了?呵呵)
params object[]
基于装箱boxing技术,用于接受任意数量的object参数。
使用方法:
直接操作paramList

第十二章 继承
定义方法:
class DerivedClass : BaseClass()
一个DervivedClass自动包括来自BaseClass的所有字段
base(params)可以调用BaseClass的构造函数
e.g.:
class DeriverdClass : BaseClass()
{
 public DeriverdClass(var_type var_name)
  : base(var_name)
 {
 ...
 }
}
值得注意的提示:
1.继承于同一个BaseClass的DerivedClass分别创建的对象之间不可相互赋值
2.object是System.Object的别名,所有类都直接或者间接从System.Object继承
3.如果在DerivedClass中重新定义一个在BaseClass里已有的方法,那么BaseClass里的方法将被隐藏,编译时将获得警告。
如果不想再编译时获得警告,则在DerivedClass里的定义部分加上new关键字,例如new public string Name()
关于virtual方法的简单理解:
BaseClass类里的方法,可以被DerivedClass里的同名方法“覆盖”,成为子类的默认方法(当子类没有定义同名方法时)
关于override方法:
DerivedClass使用override来覆盖vitrual方法
值得注意的提示:
4.override的方法必须完全一致,具有相同的名称、相同的可访问性、相同的参数类型及相同的返回类型
5.如果不使用override关键字就不会覆盖BaseClass里的方法
6.override的DerivedClass里的方法自身将自动成为virtural方法,但是不可以使用virtual关键字 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值