1. 项目文件与解决方案
- .sln(解决方案文件):记录包含哪些项目。
- .csproj(项目文件):记录该项目中包含哪些文件、类。
2. 方法(函数)
- 方法(函数) 是控制计算机做一件事情得指令,不同的指令达到不同的目的,指令执行可能需要“参数”,可能还有执行结果“返回值”
- 在C#中,方法都是定义在类中。
3. 数据类型
- 整数类型:
long > int > short > byte
- 浮点类型:
double > float
4. 枚举
- 枚举(Enum), 枚举类型是用于声明一组命名的常数的基本数据类型(值类型)
5. 逻辑运算符
- 逻辑运算符(
&&
;||
;!
)用于对布尔类型的值进行运算。
6. 时间复杂度与空间复杂度
- 时间复杂度O(n):例如,
int sum = n * (n + 1) / 2
的时间复杂度是 O(1)。
- 空间复杂度:衡量程序运行时占用的内存空间。
7. 控制流语句
break
:终止最接近break
的循环。
continue
:终止本次循环,继续下一次循环。
8. 浮点数存储
9. 方法(Method)
- 方法是一组可以重复使用的代码。
- 在方法中,
void
表示没有返回值。
- 方法中的局部变量不能在外部使用
10. 方法重载与重写
- 重载(Overload):在同一个类中,允许存在多个同名方法,只要参数个数或参数类型不同即可,与返回值是否一样无关。
- 重写(Override):子类有和父类一样(名字、类型、参数、返回值)的方法(非private)
11. 可变长度参数
- 使用
params
关键字定义可变长度参数,变长参数在函数定义中必须作为最后一个参数。
12. 递归
- 方法调用自身的过程称为递归。
- 递归效率较低,但思路清晰。
- 面试重点:阶乘和斐波那契数列的递归与非递归算法。
13. 面向对象编程(OOP,object oriented programming)
14. 面向对象的三大特征
15. 值类型(ValueType)
- 值类型中
int
、long
、double
、boolean
、枚举、结构体等是赋值传递,不能为null
16. 访问修饰符
public
:可以被类内部或外部调用。
private
:只能在类内部调用。
protected
:可以在类内部或派生类中调用。
17. 静态成员(static)
static
变量:不需要实例化(new
),可以直接通过类名调用。
static
方法:无法使用this
关键字。
static
成员:只能访问其他static
成员。
18. 单例模式(Singleton)
19. 继承(Inheritance)
- 子类会从父类继承所有非
private
成员(C#中一个类只能有一个父类,如果没有指定父类,则System.Object为父类)
20. 多态
- 多态允许调用什么方法由变量类型决定,而实际执行的方法由对象的实际类型决定。
21. 数据访问层(DAL)
- 在DAL层写代码,第一步是
using
相关命名空间。
- 在DAL类中,增删改操作的返回类型通常为
int
。
- 查询操作通常使用
DataTable
来返回。
- 返回怎么决定:要看方法的返回类型是什么,就返回什么。
22. 三层架构
- UI层:与用户交互,展示界面,消费数据。
- BLL层:业务逻辑层,对数据进行处理(如判断数据)。
- DAL层:数据访问层,负责查询和操作数据库。
- 优点:规范管理代码,降低代码冗余(重复)。
- 步骤:
- 创建三个项目:UI层、BLL层、DAL层。
- 添加项目之间的引用。
- 实现具体功能。