C#原理

相等性比较:

==:静态比较(编译时比较) 快;Equals:动态比较(运行时根据真实类型比较)

值类型:默认值判断值是否相等;引用类型:默认判断是否引用同一个对象;string比较特殊;可以重写Equals方法,改变比较的默认方式。

从代码性能优化:

1.避免不必要的对象创建(比如循环在外面创建,分支在里面创建)

2.使用using代码段

3.正确使用反射

4.使用stringBuilder进行字符串拼接

5.避免对象多次转换

6.尽量避免装箱拆箱

7.线程同步的话,比如lock,尽量缩小锁定的范围,使用特定的对象进行锁定,不用锁this。单例模式,使用double check

8.避免重复抛异常

原文地址:https://www.cnblogs.com/dreamofei/p/5213578.html