(二).net面试(static)

发布于:2025-09-07 ⋅ 阅读:(14) ⋅ 点赞:(0)


项目地址

  • 教程作者:
  • 教程地址:
  • 代码仓库地址:
  • 所用到的框架和插件:
dbt 
airflow

一、基础50

1.1 new keyword

  1. new operator
  2. new modifier
  3. new constraint

1.2 static class vs. static method

1. static class

  1. 只能包含静态成员(字段、方法、属性、事件)
  2. 不能实例化(new 不出来)
  3. 不能继承或被继承(sealed + abstract 的结合体)
  4. 默认是 sealed(防止继承)
  5. 在程序第一次使用时,CLR 会初始化一次(静态构造函数)

2. static method

  1. 属于类的本身,而不是对象成员
  2. 不能访问实例成员

3. static constructor 静态构造函数

  1. 没有访问修饰符,没有参数
  2. CLR 在 第一次访问类 时调用一次
  3. 用于初始化静态字段
  4. 不能手动调用
public class Logger
{
    public static string FilePath;

    static Logger()
    {
        FilePath = "log.txt";
        Console.WriteLine("Static constructor called");
    }
}

4. 静态成员的生命周期

静态字段在 应用程序域(AppDomain)级别唯一

1.3 LinQ

1.what is LinQ

  1. LINQ is a set of technologies that allow simple and efficient querying over different kinds of data
  2. There are two ways of querying data: ①query syntax ;② method syntax

2. List、IEnumerable、IQueryable

  1. List → 具体集合类,数据已经在内存。
  2. IEnumerable → 内存中逐个枚举,延迟执行,适合集合操作。
  3. IQueryable → 针对数据库等远程源,查询会被翻译成 SQL 执行,更高效。

3. 在数据库里用 IEnumerable

  • 如果你在数据库中使用 IEnumerable,查询会在内存中执行,导致先把整张表的数据拉到本地再过滤,非常低效;
  • 而 IQueryable 会把查询翻译成 SQL 在数据库端执行,性能更好。

1.4 ==和equals

1. ==

  • == 默认比较对象引用,值类型比较值
  1. 用途:检查 两个对象的引用是否相同(默认情况下)。
  2. 可被重载:像 string、int 等类型重载了 ==,会比较值而不是引用。
  3. 适合:值类型或经过重载的引用类型。

2. Equals

  • Equals 默认也比较引用,但可以重写来比较对象的逻辑内容
class Person
{
    public string Name { get; set; }
    public override bool Equals(object obj)
    {
        return obj is Person p && this.Name == p.Name;
    }
}

1.5 Property vs. Field

1. Property


网站公告

今日签到

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