自古光看记不住 唯有coding深人心
你
知
道
吗
2
C#
的
套
路
TIPS 6
OOP封装与继承
面向对象编程:封装、继承、多态。
封装---(抽象)----->类(class)---->1.属性 2.方法
继承 父类的东西(除非私有)子类都可以继承
多态 多重形式
封装的好处:保证数据的安全性、提供清晰的对外接口、类内部实现可以任意修改,不会影响其它类。
封装算是老生常谈了,基本没学过也听过。上面的代码注意两个关键字的使用virtual和override。下面说说一个小知识点——可选参数。
可选参数:是指给方法的特定参数指定默认值,在调用方法时可以省略掉这些参数。
使用的时候要注意:
(1)可选参数不能为参数列表的第1个参数,必须位于所有的必选参数之后(除非没有必选参数);
(2)可选参数必须指定一个默认值,且默认值必须是一个常量表达式,不能为变量;
(3)所有可选参数以后的参数都必须是可选参数。
this的一种用法,区分全局/局部变量
TIPS 7
数据类型
#region和#endregion的用法
格式:
#region 说明
代码
#endregion
收起来的样子
快捷键 :Ctrl + M + L 把当前页的代码合起来
Ctrl + M + M 只把最近的一段代码块合 起来
TIPS 8
接口 抽象类
接口 interface 接口是引用类型 不能被实例化
抽象类 abstract 可以包含功能定义和实现
接口的实现
接口的继承
TIPS 9
代码练习
List&ArrayList&Linq
先来看一道题:
定义People类 包含属性Name Age Sex
定义Student类 继承People 新加属性Math English
创建四个学生:
数学成绩超过90的学生个数
按照英语成绩排序
这里面有个知识点是=> 箭头函数
更深入的可以了解一下Lambda表达式 在筛选数据的时候真的很好用 ,在项目里你的几个foreach或者if else写8行9行才查询出来的数据,大神用个Lambda2行3行分分钟秒杀。
3.英语成绩最高值为多少
4.数学的平均成绩
这些问题自带函数就可以解决
按照英语成绩降序排列用OrderByDescending
按照性别分组 GroupBy
比较 CompareTo
ArrayList可以不用指定维数 可动态赋值 赋不同类型值
List变Dictionary ToDictionary
SingleOrDefault的例子:
列一下First,FirstOrDefault,Single,SingleOrDefault的区别
心情|阅读|鸡汤|电影
请留下你指尖的温度
让日光拥抱你
这是一个有温度的公众号
领取专属 10元无门槛券
私享最新 技术干货