目标 流程控制 字符串处理 C# 的类和对象 C# 访问修饰符 C# 构造函数和析构函数
流程控制 选择控制关键字:if、else、switch、case 循环控制关键字:while、do、for、foreach 跳转控制关键字:break、continue
选择结构 3-1 选择结构用于根据表达式的值执行语句 if … else 语法: if (<条件>) { <语句块> } else
选择结构 3-2 switch…case 语法: switch (选择变量) { case 值1: … break; case 值2: ... default : }
选择结构 3-3 switch…case 的其他特性 每个 case 分支必须有一个break语句 default 标签可位于 switch…case 结构中的任意位置 default 标签不是必选的,但使用 default 标签是一个良好的编程习惯 每两个 case 标签之间的语句数不限
循环结构 循环结构用于对一组命令执行一定的次数或反复执行一组命令,直到指定的条件为真。 循环结构的类型 while 循环 do 循环 for 循环 foreach 循环
while 循环 2-2 while 循环反复执行指定的语句,直到指定的条件为真 语法 : break 语句可用于退出循环 { // 语句 } break 语句可用于退出循环 continue 语句可用于跳过当前循环并开始下一循环
do…while 循环 2-2 do…while 循环与 while 循环类似,二者区别在于 do…while 循环中即使条件为假时也至少执行一次该循环体中的语句。 语法 : do { // 语句 } while (条件)
for 循环 for 循环要求只有在对特定条件进行判断后才允许执行循环 这种循环用于将某个语句或语句块重复执行预定次数的情形 语法 : { //语句 }
foreach 循环 2-1 语法: foreach 循环用于遍历整个集合或数组 foreach (数据类型 元素(变量) in 集合或者数组) { //语句 }
字符串处理 有用的函数 ToCharArray() 成为字符的数组 Split( ) ToLower(),ToUpper() Trim() 等 示例
对象 属性 行为 型号 行驶 价格 起动 停车 里程 属性 行为 名称 犬 吠 属性 行为 颜色 摇尾巴 品种 吃东西 车轮数量 刹车 犬 吠 属性 行为 颜色 摇尾巴 品种 吃东西 车轮数量 刹车 档的数量 加速 换档
自定义类 声明格式:类修饰符 class 类名 {类体} 创建类实例:Person myTest = new Person(1000); public class Person { private int money; public Person(int n) { money = n;} protected void ShowMoney() { Console.WriteLine(“Money:{0}”,money);} } 创建类实例:Person myTest = new Person(1000); 字段 构造函数 方法
访问修饰符 2-2 修饰符 说明 public private protected 所属类的成员以及非所属类的成员都可以访问 只有所属类的成员才能访问 protected 所属类或派生自所属类的类型可以访问
类中的构造函数2-1 是类中的特殊类型的方法 是每次创建对象时要调用的函数 通常用于初始化 与类同名 不返回值
构造函数注意点 派生类先调用基类构造函数还是先执行自己的构造函数? 静态构造函数 设计模式Singleton 没有访问修饰符,因为静态构造函数是私有的。 静态构造函数至多执行一次 创建类的实例或者引用类的任何静态成员才激发静态构造函数 设计模式Singleton
this关键字 this 关键字将引用类的当前实例。静态成员函数没有 this 指针。 以下是 this 的常用用途: 限定被相似的名称隐藏的成员 将对象作为参数传递到其他方法 例如:使用另外一个类的方法改变本类对象的属性
类中的析构函数 由C#中的垃圾回收器调用 垃圾回收器通过销毁不再需要或不再被引用的对象来释放内存 即无参数,又无返回值 语法 … ~DaysInYear() { // 析构函数实现 }
垃圾回收器 垃圾回收器的工作原理 ...... ...... ...... obj5 obj5 obj2 obj4 obj1 obj4 内存 销毁器列表 准备销毁队列 ...... obj5 obj1 obj2 obj3 obj4 obj3 obj4 obj5 ...... obj1 obj2 ...... 启动线程调用销毁 有析构函数就放入
总结 foreach语句 字符串处理:ToCharArray(),Split()等 类是 C# 中的一种结构,用于在程序中模拟现实生活的对象 成员变量表示对象的特征 方法表示对象可执行的操作 如果类中未定义构造函数,则由运行库提供默认构造函数 析构函数不能重载,并且每个类只能有一个析构函数