返回顶部
首页 > 资讯 > 精选 >C# using()如何使用
  • 317
分享到

C# using()如何使用

2023-07-05 04:07:36 317人浏览 薄情痞子
摘要

这篇文章主要介绍“C# using()如何使用”,在日常操作中,相信很多人在C# using()如何使用问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”C# using()如何使用

这篇文章主要介绍“C# using()如何使用”,在日常操作中,相信很多人在C# using()如何使用问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”C# using()如何使用”的疑惑有所帮助!接下来,请跟着小编一起来学习吧!

01.点明观点 

C#中,非托管资源使用之后必须释放,而using()是使用非托管资源的最佳方式,可以确保资源在代码块结束之后被正确释放,并且代码更简洁。

这里说的非托管资源指的是实现IDisposable或IAsyncDisposable接口的类。

02.C#中,using的两个作用 

第一种:引入命名空间

用法如下:

using System.Text;using s = System.Text;       //为命名空间定义别名using static System.Math;    //引入类型静态成员global using System.Math;    //全局引入

第二种:声明一个对象,并确保该对象在代码块执行完之后被释放(Dispose())。

这里主要对第二种用法进行分析。

03.using如何实现资源释放 

通常,我们以下面的形式声明一个非托管资源,当代码块执行完之后,资源会自动释放,那程序是如何做到的呢?

using (var file = File.Open("filePath", FileMode.OpenOrCreate)){    //do something}

说起来也简单:

using(...)语句经编译器编译之后,转换了try{...}finally{...}

上面的代码,经程序编译后的代码如下:

FileStream file = File.Open("filePath", FileMode.OpenOrCreate);try{  //do something}finally{  if (file!= null)  {    ((IDisposable)file).Dispose();  }}

两段代码的运行结果是一样的,对比之下,很明显,使用using()的代码更简洁。

04.实践探索

实践出真知,我们通过一个例子,使用反编译工具(ILSpy或ILDasm)查看生成的DLL,进行验证。

首先,定义一个实现了IDisposable接口的类。当然也可以使用.net中内置的类,这里采用自定义类是为了验证,只要是实现了IDisposable接口的类,都可以使用这种方式。

C# using()如何使用

然后,使用using创建资源对象。

C# using()如何使用

最后,查看编译后生成的IL代码文件,可以看到确实如上面所说,using(...)语句经编译器编译之后,转换了try{...}finally{...},并且在finally{}中完成了对Dispose()方法的调用。 

C# using()如何使用

到此,关于“C# using()如何使用”的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注编程网网站,小编会继续努力为大家带来更多实用的文章!

--结束END--

本文标题: C# using()如何使用

本文链接: https://lsjlt.com/news/349573.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • C# using()如何使用
    这篇文章主要介绍“C# using()如何使用”,在日常操作中,相信很多人在C# using()如何使用问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”C# using()如何使用...
    99+
    2023-07-05
  • C#中如何使用using
    C#中如何使用using,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。1、using 按照MSDN的解释  using 语句定义一个范围,在此范围的末尾将处...
    99+
    2023-06-17
  • C#中using如何使用
    这篇文章给大家介绍C#中using如何使用,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。C# using指令,最常用的是在程序代码的开头引用系统空间,其他的用法有允许在命名空间中使用类型和用来创建 using语句定义一...
    99+
    2023-06-17
  • C#中using指令如何使用
    C#中using指令如何使用,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。1.using指令。using + 命名空间名字,这样可以在程序中直接用命令空间中的类型,而不必指...
    99+
    2023-06-17
  • C#using()的使用方法
    目录01.点明观点 02.C#中,using的两个作用 03.using如何实现资源释放 04.实践探索05.总结 01.点明观点 ...
    99+
    2023-02-21
    C# using()
  • c#中using如何引用文件
    在C#中,使用using关键字是用来引用命名空间的,而不是用来引用文件。如果想要引用一个文件,可以使用System.IO命名空间中的...
    99+
    2024-04-08
    c#
  • C++11中使用using的方法
    在 C++ 中 using 用于声明命名空间,使用命名空间也可以防止命名冲突。在程序中声明了命名空间之后,就可以直接使用命名空间中的定义的类了。在 C++11 中赋予了 using ...
    99+
    2024-04-02
  • C#中using word的使用方法
    这篇文章主要介绍“C#中using word的使用方法”,在日常操作中,相信很多人在C#中using word的使用方法问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”C#中using word的使用方法”的疑...
    99+
    2023-06-17
  • C++的using声明和using编译指令怎么使用
    这篇文章主要介绍“C++的using声明和using编译指令怎么使用”,在日常操作中,相信很多人在C++的using声明和using编译指令怎么使用问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”C++的usi...
    99+
    2023-06-22
  • C#using的本质及使用详解
    目录01.点明观点02.C#中,using的两个作用03.using如何实现资源释放04.实践探索05.总结01.点明观点 C#中,非托管资源使用之后必须释放,而using()是使用...
    99+
    2024-04-02
  • c#中using的用法
    using 语句是一种资源管理机制,自动释放不再需要的资源。它首先创建和初始化资源,然后在作用域内使用资源,最后在离开作用域时自动释放资源。这简化了资源管理,防止了内存泄漏和资源泄漏。 ...
    99+
    2024-05-15
    c# 作用域
  • C#中的using怎么用
    这篇文章主要讲解了“C#中的using怎么用”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“C#中的using怎么用”吧!using的用法:1. using指令:引入命名空间这是最常见的用法,...
    99+
    2023-06-17
  • C#中using语句的用法
    一、using语句 using可以算是.NET中新的语法元素,它清楚地说明一个通常比较占用资源的对象何时开始使用和何时被手动释放。当using可以被使用时,建议尽量使用using语句...
    99+
    2024-04-02
  • Mysql 中ON子句和USING子句如何使用
    Mysql 中ON子句和USING子句如何使用,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。Mysql ON子句和USING子...
    99+
    2024-04-02
  • C#中using关键字的使用方法示例
    目录1 :using 指令(命名空间)2 :using 语句(1 ):using (ResourceType Identifier = Expression ) State...
    99+
    2024-04-02
  • C++11/14如何使用typedef和using定义类型别名和别名模版
    目录定义类型别名使用using定义类型别名定义别名模板总结使用typedef定义类型别名 C++11/14标准中引入了一种新的语法:别名声明。它是一种定义类型别名和别名模版的方式,可...
    99+
    2023-05-17
    C++定义类型别名模版 C++ typedef using
  • C++ 命名空间 using声明使用示例详解
    目录正文最初的c++代码写法正文 c++在开发的过程当中需要使用到库函数,那么基于库函数的使用最初的流程是:1、include 相关的头文件,比如:iostream,string。...
    99+
    2022-12-08
    C++ 命名空间using声明 C++ using声明
  • C#的using关键字怎么用
    这篇文章主要讲解了“C#的using关键字怎么用”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“C#的using关键字怎么用”吧!using 关键字using 关键字表明程...
    99+
    2023-06-17
  • C# 中using的作用是什么
    本篇文章为大家展示了C# 中using的作用是什么,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。C# using作用,微软MSDN上解释总共有三种用途:引用命名空间。2、为命名空间或类型创建别名。3...
    99+
    2023-06-17
  • Mysql的using怎么使用
    这篇文章主要介绍了Mysql的using怎么使用的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇Mysql的using怎么使用文章都会有所收获,下面我们一起来看看吧。示例在平时,我们做关联表查询的时候一般是这样的...
    99+
    2023-06-29
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作