C#原理
相等性比较:
==:静态比较(编译时比较) 快;Equals:动态比较(运行时根据真实类型比较)
值类型:默认值判断值是否相等;引用类型:默认判断是否引用同一个对象;string比较特殊;可以重写Equals方法,改变比较的默认方式。
从代码性能优化:
1.避免不必要的对象创建(比如循环在外面创建,分支在里面创建)
2.使用using代码段
3.正确使用反射
4.使用stringBuilder进行字符串拼接
5.避免对象多次转换
6.尽量避免装箱拆箱
7.线程同步的话,比如lock,尽量缩小锁定的范围,使用特定的对象进行锁定,不用锁this。单例模式,使用double check
8.避免重复抛异常