C#8.0新语法using declaration

 更新时间:2022年07月04日 14:11:46   作者:天方  
这篇文章介绍了C#8.0的新语法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

看起来舒服多了有没有。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

相关文章

  • C#中实现Fluent Interface的三种方法

    C#中实现Fluent Interface的三种方法

    这篇文章主要介绍了C#中实现Fluent Interface的三种方法,本文讲解了Fluent Interface的简单实现、使用装饰器模式和扩展方法实现Fluent Interface等3种实现方法,需要的朋友可以参考下
    2015-03-03
  • C#使用udp如何实现消息的接收和发送

    C#使用udp如何实现消息的接收和发送

    这篇文章主要介绍了C#使用udp如何实现消息的接收和发送问题,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2023-02-02
  • DevExpress实现为TextEdit设置水印文字的方法

    DevExpress实现为TextEdit设置水印文字的方法

    这篇文章主要介绍了DevExpress实现为TextEdit设置水印文字的方法,对C#程序设计人员来说是一个很实用的技巧,需要的朋友可以参考下
    2014-08-08
  • C#/VB.NET中从 PDF 文档中提取所有表格

    C#/VB.NET中从 PDF 文档中提取所有表格

    这篇文章主要介绍了C#/VB.NET中从PDF文档中提取所有表格,文章围绕主题展开详细的内容介绍,具有一定的参考价值,需要的小伙伴可以参考一下
    2022-08-08
  • C#使用分部类设计实现一个计算器

    C#使用分部类设计实现一个计算器

    分部类是C#4.5中的一个新特性,它的出现使得程序的结构更加合理,代码组织更加紧密,本文将使用分部类设计实现一个简单的计算器,感兴趣的小伙伴可以了解下
    2024-02-02
  • C# DataTable分页处理实例代码

    C# DataTable分页处理实例代码

    有时候我们从数据库获取的数据量太大,而我们不需要一次性显示那么多的时候,我们就要对数据进行分页处理了,让每页显示不同的数据。
    2017-06-06
  • C#编写的生辰八字计算程序

    C#编写的生辰八字计算程序

    这篇文章主要介绍了C#编写的生辰八字计算程序,假设一个人的公历出生时间,范围必须要在2012-2015年之间,因为本示例程序只提供了这几年的农历数据,小伙伴们参考下,可以自由扩展
    2015-03-03
  • C# SaveFileDialog与OpenFileDialog用法案例详解

    C# SaveFileDialog与OpenFileDialog用法案例详解

    这篇文章主要介绍了C# SaveFileDialog与OpenFileDialog用法案例详解,本篇文章通过简要的案例,讲解了该项技术的了解与使用,以下就是详细内容,需要的朋友可以参考下
    2021-08-08
  • C#中四种定时器的用法详解

    C#中四种定时器的用法详解

    日常项目开发中,很多时候都需要用到定时器来处理一些问题,那么c#中各种定时器应该怎么用呢?下面来简单介绍下C#中4种定时器的使用方法说明,感兴趣的朋友可以参考下
    2024-04-04
  • VS2015为console.readkey添加代码片段的方法

    VS2015为console.readkey添加代码片段的方法

    这篇文章主要介绍了VS2015为console.readkey添加代码片段的方法,需要的朋友可以参考下
    2016-12-12

最新评论