C#程序设计方案分享
2022-10-13 10:43:38 0 举报
AI智能生成
为你推荐
查看更多
C#程序设计方案分享
作者其他创作
大纲/内容
算术运算符:+,-,*,/,%,++,--
赋值运算符:=,+=,-=,*=,/=,%=,<<=,>>=,&=,|=,^=
关系运算符:==,!=,>,<,<=,>=
逻辑运算符:!,&&,||,&,|,^
位运算符:&,~,|,^,<<,>>
条件运算符:? :
运算符
初级、一元、乘除模
加减、位移、关系、等
逻辑、条件和赋值
运算符优先级
表达式
运算符和表达式
类是抽象概念,是对象的模板
对象是类的具体实现,对象会被分配内存
类和对象
现实世界中对象属性的概念:属性就是对于一个对象的抽象刻画。一个具体事物,总是有许许多多的性质与关系,我们把一个事物的性质与关系,都叫做事物的属性。
字段:封装数据
属性:访问字段
方法重载条件:方法名相同,其余方法签名不完全相同
方法签名(方法标识):指方法名称、参数个数、参数类型、参数顺序
方法:加工数据
对象之间消息互通
定义事件触发类(产生事件):public event <委托类型名> <事件名>;
定义事件接受类(处理事件):需要提前订阅事件
三步曲
事件
函数名与类名相同
使用new隐式调用,主要完成初始化
不能显示调用,只能隐式匹配
一定有构造函数,不能有返回值
构造函数
索引器
类的成员
public
private
protected
internal
protected internal
访问修饰符
方法的高级用法
子类从父类获得字段、属性、事件和方法,提升代码可重用性
使用abstract修饰
可以包含实现代码
不能被实例化,只能被继承
抽象类
隐式为虚方法
只有方法声明,没有方法体
只能存在于抽象类
在子类中必须全部实现(重写)
抽象方法
抽象类和抽象方法
密封类:sealed
子类对象实例化时先执行父类无参构造函数,再执行子类构造函数
调用父类有参构造函数使用base关键字
构造函数调用问题
继承
方法重载:基于类内部的操作,同一个方法完成多个类似的事情
关键字:operator
public static <返回值类型> operator <操作符> (<类型> <参数>)
定义形式
运算符重载
重载
不同的子类的同名方法实现相似的不同的功能
使用virtual关键字声明
本身有方法体,但在子类中也可以被重写的方法
子类中用override重写
静态成员函数、构造函数不能是虚函数
虚方法
多态
概念:只含有少量的方法、属性的声明,不存在实现代码
作用:定义类的原形而无需实现
一个类只能继承一个父类却可以实现多个接口,实现接口的类必须实现接口的所有成员
接口成员默认为public,不能用private修饰符
属性、方法、事件、索引器
成员
不能实例化
接口
静态类
面向对象
常用控件
模式窗体
messageBox控件
WinForm程序设计
const <type> <name> = <value>;//编译时常量
readonly <type> <name> = value;//运行时常量
常量定义语法
由字母、数字、下划线组成
不以数字开头
不与关键字函数名同
大小写敏感
命名规则
直接常量(幻数)
符号常量
常量分类
值类型和引用类型的区别
默认为值类型为int,顺序递增1
只有byte、short、int、long可赋值给枚举类型元素
标记枚举:添加[Flags]标记,枚举元素按2的指数幂顺序递增
枚举常量
结构体常量
常量变量
if-else if-else
switch-case
选择
for
while满足条件才执行循环体
do-while无论条件是否成立都执行循环体
循环
break用于跳出循环或结束switch分支
continue结束此轮循环进入下一轮
goto降低代码质量,一般不用,有时用于深层嵌套的跳出
return退出函数或返回值
throw异常处理
跳转
程序控制
概念:一组包含多个同种类型元素的数据结构
类型 [] 数组名 = new 类型
定义
foreach
遍历
使用
数组
类型名称及作用
int
uint
short
ushort
long
ulong
sbyte
byte
char
enum
整形
bool
float
double
decimal
小数
结构
值类型
类
字符串
委托
引用类型
类型分类
万类之根,所有引用类型和值类型都直接或者间接继承自它
值类型的“==”运算做内容比较
引用类型的“==”运算做引用比较
struct不能进行“==”和“!=”运算
相等问题
object类
使用赋值运算符“=”自动完成转换
值不发生根本性变化,不引发异常
隐式转换
Type.Parse方法(参数只能为字符串)
Convert类
显式转换
装箱:值类型 → object类型,隐式进行
拆箱:object类型 → 值类型,显示进行(需要强制类型转换)
影响程序效率,应尽量避免
装箱拆箱
类型转换
数据类型
C#程序设计方案分享
0 条评论
回复 删除
下一页