编写高质量c#代码的20个建议

一。字符串操作:哪个效率更高。
1.string 装箱
2.StringBuilder 更高
3.string.Format("{0}{1}{2}",a,b,c) 更高

二。默认类型转换:
使用类型内部的方法转换;
parse,tryparse,tostring,todouble,to datetime
tryparse 比parse 好,不会引发异常

三。使用int?来确保值类型也可以为Null
int? i=123;
int j=i??0

var,dynamic的区别
foreach比for效率更高,默认调用dispose,foreach对集合整个版本控制,迭代器版本检测,增删操作后版本变化了
缺点是foreach不支持再循环中对集合增删操作,否则会报异常,这时要用for

四:想让代码高效运行,尽量避免装箱拆箱。
所以使用泛型避免了装箱拆箱

五:集合是多线程不安全的,需加锁,
多线程安全的集合有:ConcurrentBag<T>对应List<T>
ConcurrentDictionary<Tkey,tvalue>对应Dictionary<Tkey,tvalue>
IList<T>和 List<T> ,作为基类要使用IList<T>能带来继承的优势。

Action,Func
Lambda表达式是一个简洁的委托,左边是方法的参数,右边是方法体:=>

posted @   大树2  阅读(67)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· Docker 太简单,K8s 太复杂?w7panel 让容器管理更轻松!
历史上的今天:
2021-03-21 gRPC介绍和使用
2008-03-21 Mysql使作心得(备份,还原,乱码处理)
点击右上角即可分享
微信分享提示