• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

C# 8 新特性 - 静态本地方法

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

从C# 8 开始,本地方法就可以是静态的了。 

与其他的本地方法不同,静态的本地方法无法捕获任何本地状态量。 

 

直接看例子: 

这段代码里有两个本地方法,他们分别对实例的一个字段和方法里的一个本地变量进行了修改操作,也就是捕获并更新了本地的状态。 

 

其运行结果是: 

可以看到类的成员字段和方法本地变量的状态都被这两个本地方法修改了。。 

 

避免实例状态被修改 

但是很多情况下,你并不希望类的实例字段和方法本地变量的值被捕获或修改。在C# 8里面,你可以使用静态本地方法来达到这个目的。 

其做法很简单,就是在原来这两个本地方法前面加上static关键字即可: 

可以看到程序报错了,这是因为静态本地方法是不可以访问和捕获实例的状态的,包括实例成员和方法本地变量。 

 

针对第一个本地方法,我直接把更新本地变量的语句去掉: 

 

而针对第二个本地方法,如果你真的想修改实例成员的状态,那么就需要把成员改为静态的: 

 

其运行结果是: 

 

优点 

C# 8的这个特性对可读性其实没有特别大的帮助,但是它却可以防止本地方法捕获实例状态,在一些情况下,这对性能有很大的帮助。 

更详细教程请点击原文链接。


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
关于C#和.NET技术分类的一点说明发布时间:2022-07-14
下一篇:
C# 实现NPOI的Excel导出发布时间:2022-07-14
热门推荐
热门话题
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap