C#8.0新语法using declaration
作者:天方 发布时间:2023-10-23 00:57:54
标签:C#,using,declaration
我们在代码中经常使用using保障非托管资源的释放
static void Main(string[] args)
{
using (var options = Parse(args))
{
if (options["verbose"]) { WriteLine("Logging..."); }
...
} // options disposed here
}
using虽然释放数据非常有效,但是有的时候会带来过多的缩进,导致代码不好阅读。
using (var a = ...)
{
//do something 1
using (var a = ...)
{
//do something 2
using (var a = ...)
{
//do something 3
}
}
}
在C# 8.0中引入了一个新的using语法,可以不用花括号,变量出了其生命周期自动释放。 该语 * 能上有点类似于C++的scoped_ptr,不过也支持async模式下的自动dispose。
static void Main(string[] args)
{
using var options = Parse(args);
if (options["verbose"]) { WriteLine("Logging..."); }
} // options disposed here
在新语法的加持下,上面的代码就可以简化如下
using var a = ...;
//do something 1
using var b = ...;
//do something 2
using var c = ...;
//do something 3
看起来舒服多了有没有。
来源:https://www.cnblogs.com/TianFang/p/10322359.html


猜你喜欢
- 分页是Java Web项目常用的功能,昨天在Spring MVC中实现了简单的分页操作和搜索分页,在此记录一下。使用的框架为(MyBatis
- 一、背景今天心血来潮,准备测试一下项目中 logback 的自动刷新功能,但是测试时发现并不生效。logback 的配置如下:<con
- 分页插件  MP中自带了分页插件的功能,只需要在配置类中进行简单的配置即可使用分页的相关功能。分页插件常
- 哈夫曼(Huffman)编码是一种常用的压缩编码方法,是 Huffman 于 1952 年为压缩文本文件建立的。它的基本原理是频繁使用的数据
- 在我们实际开发项目中,经常会遇到一些常量的配置,比如url,暂时不会改变的字段参数,这个时候我们最好是不要直接写死在代码里的,因为这样编写的
- 前言你好! 本文章主要介绍如何用Android Studio制作简易的门户界面,主要说明框架的各部分功能与实现过程,结尾处附有源码。界面分析
- 前言这篇博客介绍Java环境的配置,主要是安装JDK,以及path、JAVA_hOME、CLASSPAT的配置,还会介绍配置这些的原因。一.
- List list=new ArrayList()是怎么回事首先明确List是接口,ArrayList是它的实现类以下两种方法都可以,但是不
- 这周末体验了一下挺火的Docker技术,记录学习笔记。>Docker是干什么的Docker 是一个基于Linux容器(LXC-linu
- 在Android中要让一个程序的界面始终保持一个方向,不随手机方向转动而变化的办法: 只要在AndroidManifest.xml里面配置一
- 一个简单的HelloSpringMVC程序先在web,xml中注册一个前端控制器(DispatcherServlet) <?xml v
- springmvc 中的 * 可以对请求进行判别, 在请求到达控制器之前, 把非法的请求给拦截掉下面来说一说, 它在springboot中的
- 自定义单元格表示值通过CellFormatting事件,可以自定义单元格的表示值。(比如:值为Error的时候,单元格被设定为红色)示例:p
- 在Java的6.0版本中新增了concurrent包,这个包是用作线程同步的包,提供了很多工具类。其中定时器就是其中之一。近期在做一个项目,
- 一、Swagger介绍Swagger是一个规范和完整的框架,用于生成、描述、调用和可视化RESTful风格的web服务。目标是使客户端和文件
- 执行完post请求后,通常来讲一个最佳实践就是执行重定向。重定向将丢弃原始请求数据,原始请求中的模型数据和请求都会消亡。可以有效避免用户浏览
- 目录引入依赖Java中使用GraphQL的API无参数简单查询带参数简单查询GraphQL可以通过Java的API来实现数据的查询,通过特定
- List集合概述List集合是一个元素有序(每个元素都有对应的顺序索引,第一个元素索引为0)、且可重复的集合。List集合常用方 * ist是
- 悲观锁、乐观锁简介: 悲观锁:同步操作。即用户A在操作某条数据时,为其上锁,限制其他用户操作,用户A操作完成提交事务后其他用户方可
- 骑缝章是用于往来业务合同,以确保合同真实、有效的印章加盖方法,是一种防范风险的重要方式。在Java程序中,可以通过使用工具来辅助加盖这种骑缝