数组 创建:
- type[ ] array={1,2,3}
- type[ ] array=new type[Length]
中断快捷键F9
数组 创建:
中断快捷键F9
catch ( FormaEeception e)
查找程序是否异常
enemy = new Boss(50,50,50);//但enemy.BossSkill()用不了
//enemy = new EnemyType1();
Boss c;
//不能这么设置c = new Enemy();
Enemy enemyboss = new Boss(11, 44, 55);
enemyboss.Move();//用的是boss的move方法,这是虚方法重写Move
enemyboss.AI();//用的是enemy的move方法,这是隐藏方法重写AI
栈去 堆区 静态存储区
引用类型 枚举
字符串常量存储在静态存储区 堆去存地址
这几节好懵,
ArrayList可以存储 不同类型的数据
虚函数的功能,当父类接收子类时,父类实例调用虚函数,程序会先看子类是否对虚函数重写,如果重写了,就会调用子类的函数
list.CopyTo(): 复制全部元素。第三个为索引入参, 复制第一个数组中所有元素到第二个数组, 从索引位置开始放, 要保证第二个数组的长度。
dynamic:动态类型, 动态类型可以进行+运算
而 泛型 不可以使用+运算。
列表的insert()方法可以根据索引插入数据, 指定数据位置。
列表的remove()方法可以删除指定数据。 如果存在多个相同的元素, 则只删除索引最小的数据。
removeAt()方法 可以删除指定索引的元素。
removeAll()方法删除指定值的数据,所有该值的数据都会被删除。
indexOf()方法查询指定值在列表中的位置。若存在多个元素,则返回第一个元素的索引, 若不存在 则返回-1
引用类型在使用等号赋值时, 使用的是引用赋值。
每一个结构体被创建后都是直接放在栈空间里面, 其对应的属性值也是放在栈空间, 与类对象不同, 类对象的属性值放在堆空间。
虚方法使用virtual进行申明, 子类重写父类的虚方法, 则在调用时会直接调用子类重写的方法。
面向对象: 单继承多实现
new 关键字申明的方法属于隐藏方法, 父类申明的对象调用方法 则调用父类的, 子类申明的对象则调用子类的。
override重写方法, 方法被重写后都只会调用子类的方法。
运算符重载, 对象的运算符重载类似于java重载equals函数。
mfsdmffmlfmalasmd
接口可以继承接口,
实现了继承其他接口的接口时 必须实现继承的所有接口的方法。
类可以实现多个接口。
C# 的接口定义: 使用interface关键字进行修饰。
接口不包含数据成员。
接口的方法不能私有, 默认使用public进行修饰。
静态函数只能使用静态数据。也就是只能使用静态变量。
C# 中可以申明静态类
静态类中只能包含静态成员。
静态类不需要实例化对象。可以直接使用类进行调用。
静态类的使用场景:
1、 公共场景。
在10号项目中引用9号项目:
右键- 生成依赖项 - 选择项目引用- 选择需要引用的项目。
子类构造器调用父类构造器的语法:
子类构造器() : 父类构造器(父类中需要的参数) {}