你的位置:首页 > 软件开发 > ASP.net > 【C#进阶系列】08 属性

【C#进阶系列】08 属性

发布时间:2016-03-13 20:00:04
属性分为无参属性和有参属性(即索引器)。属性相对于字段的优点不仅仅是为了封装,还可以在读写的时候做一些额外操作,缓存某些值或者推迟创建一些内部对象,也适用于以线程安全的方式访问字段。话说最基本的属性就不讲了,太平常了。基本上很多文章都是讲属性的好处的,所以下面就讲一下属性的不足: ...

属性分为无参属性和有参属性(即索引器)。

属性相对于字段的优点不仅仅是为了封装,还可以在读写的时候做一些额外操作,缓存某些值或者推迟创建一些内部对象,也适用于以get='_blank'>线程安全的方式访问字段。

话说最基本的属性就不讲了,太平常了。

基本上很多文章都是讲属性的好处的,所以下面就讲一下属性的不足

属性不能作为out和ref传参。属性实质上是方法而不是字段,因为属性在编译后实际上是方法。

属性可能花较长时执行,而字段访问则是立即完成。

许多人使用属性是为了线程同步,这就可能造成线程永远终止,要线程同步就不要使用属性。

如果属性所在类可以被远程访问,那么调用属性会非常慢。

在上面这些情况下,应该优先使用方法而不是属性。

并且《CLR via C#》的作者十分不推荐使用属性,而是使用方法。

匿名类型

先上一段匿名类型的代码

var man=new {Name="Troy",Age=1};

 

海外公司注册、海外银行开户、跨境平台代入驻、VAT、EPR等知识和在线办理:https://www.xlkjsw.com

原标题:【C#进阶系列】08 属性

关键词:C#

C#
*特别声明:以上内容来自于网络收集,著作权属原作者所有,如有侵权,请联系我们: admin#shaoqun.com (#换成@)。

可能感兴趣文章

我的浏览记录