C#之面试小技巧
2021-07-08 01:05
标签:pwd 分享图片 one const png int jit 描述 存储 1. 静态变量设置为 0 ; 2. 执行静态变量初始化器; 3. 执行基类的静态构造函数; 4. 执行静态构造函数; 5. 实例变量设置为 0; 6. 执行实例变量初始化器; 7. 执行基类中合适的实例构造函数; 8. 执行实例构造函数。 1. 用全局变量代替局部变量 2. 使用单例模式来减少new对象 基类描述了对象是什么,接口描述了对象如何表现它的行为 C#之面试小技巧 标签:pwd 分享图片 one const png int jit 描述 存储 原文地址:https://www.cnblogs.com/buwangchuxin-/p/9747258.html1. 定义常量最好使用运行是常量就是readonly 编译常量就是 const
1 public static readonly MyClass myClass = new MyClass();
2 public static readonly string userName = "张三"; //
3 public const string userPwd = "1234"; //数字和string 效率高,灵活性低
2. 类型转换 如果使引用类型转换就采用 as/is 值类型采用强制转换
3. 方法编写要简短精悍 这种方法可以让JIT把变量存储在寄存器而非栈中 优化速度
1 //在Demo01中if 和 else中的代码逻辑都会被编译
2 static void Demo01(bool isDone)
3 {
4 Listint> list = new Listint>();
5 if (isDone)
6 {
7 list.Add(1);
8 list.Add(10);
9 list.Add(100);
10 list.Add(1000);
11 }
12 else
13 {
14 list.Add(2);
15 list.Add(20);
16 list.Add(200);
17 list.Add(2000);
18 }
19 }
20 //在demo02中if 和 else 中逻辑会根据isDone来选择一个进行编译 所以推荐使用Demo02的写法
21 static void Demo02(bool isDone)
22 {
23 if (isDone)
24 Demo02TrueMethod();
25 else
26 Demo02FlaseMethod();
27
28 }
4. 申明变量的时候最好进行初始化,而非在方法或者构造函数中赋值
5. 若一个类中有静态量 那么该静态量最好放在静态构造函数中去赋值
6. C#实例化对象的执行顺序
7. 如何降低在程序中创建的对象
8. OOP中的接口和基类之间的区别