C#基础知识记录(一)

发布于:2025-06-18 ⋅ 阅读:(16) ⋅ 点赞:(0)

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)

  • 值类型中intlongdoubleboolean、枚举、结构体等是赋值传递,不能为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层。
    • 添加项目之间的引用。
    • 实现具体功能。

网站公告

今日签到

点亮在社区的每一天
去签到