C#之面试小技巧

2021-07-08 01:05

阅读:394

标签:pwd   分享图片   one   const   png   int   jit   描述   存储   

 

 

1. 定义常量最好使用运行是常量就是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#实例化对象的执行顺序

  1. 静态变量设置为 0 ;

  2. 执行静态变量初始化器;

  3. 执行基类的静态构造函数;

  4. 执行静态构造函数;

  5. 实例变量设置为 0;

  6. 执行实例变量初始化器;

  7. 执行基类中合适的实例构造函数;

  8. 执行实例构造函数。

7. 如何降低在程序中创建的对象  

1. 用全局变量代替局部变量  

2. 使用单例模式来减少new对象

8. OOP中的接口和基类之间的区别  

基类描述了对象是什么,接口描述了对象如何表现它的行为

 

C#之面试小技巧

标签:pwd   分享图片   one   const   png   int   jit   描述   存储   

原文地址:https://www.cnblogs.com/buwangchuxin-/p/9747258.html


评论


亲,登录后才可以留言!