访问修饰符?
Public 子类可以访问父类,其他费子类也能访问
Protected 不允许其他非子类访问
Private
internal
继承特点?
传递性( 父类特性传给子类)
单根性(C#中基类只有一个,派生类可以有多个)
子类有参数的构造函数,但默认调父类无参的构造函数,除非写base
结构中有参,无参构造函数可以共存,类中会覆盖
值必须复制
类型转换?
1显式转换
2隐式转换:子类可以隐式的转换成父类
number 隐式转换成double,double转换成强制转换number
(强制转换 再前面加类型)
?里式替换:(父类想当子类)子类调用父类方法,(父亲相当儿子,父类不能直接当子类 Children C =new father 报错)
New 子类,在转换的时候就可以
Person P=new Person();
Teacher t=new Teacher();
Person P1=new Teacher(); new的是子类,但调用父类的方法
new的是子类,但转换的是另一个子类,报错
Is as 的用法?
as做的is都可以做
TypeA is typeB 仅判断 返回布尔类型true false
typeB as typeA 先判断再转换
If (p is Teacher) 判断是否能够转换,能转换就强制转换,保险起见
As转换不了的,不报异常,返回乐null,
Is 转换返回的是bool,true
能转换,false不能转换
值类型,引用类型?
结构和接口的区别联系?
封装 继承 多态
集合添加数据
ArrayList arrayList =new ArrarList();
arraryList .Add(10) //往数组里添加数组,添加各种类型,也可以放类
放类的两种方法:
New
Person p=new person
arrayList.Add(P)
ArrayList Al=new ArrarList();
Al.Add(1)
Al.Add(3)
Al.Add(5)
Al.Add(7)
Arraylist[1]=2;
Arraylist[2]=3
arrayList.Insert(1,2); //下标为1的地方是2
arrayList.Insert(3,4);
arrayList.Insert(4,5);
arrayList.Insert(5,6);
arrayLiset.range(数组/借口)
For(int I =0;i<=10;i++)
{
arraryList.Insert(i+1,i+2);
}
Remove 移除索引对应的值
//把数组拿出来
往集合中添加数据有三种方式
通过构造函数可以添加一个数组
通过add()方法可以添加数组,但是算成一个元素
通过addrange ()也可以添加数组
、
集合和数组的区别?
数组长度固定,不能插入元素
集合长度可变
随机的往集合中添加数据,添加10个,不能重复,在求和,求平均值?
ArraryList arr=new ArrayList();
Random r =new Random();
While(true)
{
Int num=r.Next(1,100);
If(!arr.Contains(num))
{
Arr.Add(num);
}
}
HashTable ht -new HashTable
Ht.Add("key","value")
用foreach遍历哈希表,