加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

c# – 使用句法糖/内置功能

发布时间:2020-12-15 19:55:22 所属栏目:百科 来源:网络整理
导读:我正忙着深入研究多线程和死锁等问题.本书针对的是伪代码和C代码,我正忙着研究Mutex锁和监视器等实现. 这让人联想到以下几点;在C#中,事实上我们在做事时有很多语法糖. For instance(.NET 3.5): lock(obj){ body} 与以下相同: var temp = obj;Monitor.Enter
我正忙着深入研究多线程和死锁等问题.本书针对的是伪代码和C代码,我正忙着研究Mutex锁和监视器等实现.

这让人联想到以下几点;在C#中,事实上我们在做事时有很多语法糖. For instance(.NET 3.5):

lock(obj)
{
   body
}

与以下相同:

var temp = obj;

Monitor.Enter(temp);

try 
{ 
   body 
}
finally 
{ 
   Monitor.Exit(temp); 
}

当然还有其他一些例子,例如using(){}构造等.我的问题是什么时候它更适用于“单独行动”并且自己编码事物而不是在语言中使用“语法糖”?是否应该使用自己的方式而不是那些对您编写的语言更有经验的人?

我记得不得在using块中使用Process对象来帮助解决一些多线程问题和无限循环.因为没有使用构造,我仍然觉得很脏.

谢谢,

凯尔

解决方法

尽可能坚持语法糖.它简洁,易于维护,不易出错,易于理解,并且出于某种原因创建了它.

如果你必须手动控制某些东西(例如操纵IEnumerator< T>而不是使用foreach),那么是的,抛弃语法糖.否则,惯用是一件好事.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读