using关键字

简介: using关键字可以支持IDisposable模式,可以在后面的圆括号中获得自由,这些自由作为局部变量,它们的作用范围限制在大括号限定的范围内。 我们看一下例子 1 using System; 2 using System.

using关键字可以支持IDisposable模式,可以在后面的圆括号中获得自由,这些自由作为局部变量,它们的作用范围限制在大括号限定的范围内。

我们看一下例子

 1 using System;
 2 using System.Collections.Generic;
 3 using System.Linq;
 4 using System.Text;
 5 
 6 namespace DisposeAndUsing
 7 {
 8     class Program
 9     {
10         public class A : IDisposable
11         {
12             private bool disposed = false;
13             private void Dispose(bool disposing)
14             {
15                 if (!disposed)
16                 {
17                     if (disposing)
18                     {
19 
20                     }
21                     Console.WriteLine("Cleaning up object");
22                     disposed = true;
23                 }
24             }
25 
26             public void Dispose()
27             {
28                 Dispose(true);
29                 GC.SuppressFinalize(this);
30             }
31 
32             public void DoSomething()
33             {
34                 Console.WriteLine("A.SoSomething()");
35             }
36 
37             ~A()
38             {
39                 Console.WriteLine("Finalizing");
40                 Dispose(false);
41             }
42         }
43 
44         static void Main(string[] args)
45         {
46             using (A a = new A())
47             {
48                 a.DoSomething();
49             }
50 
51             using (A a = new A(), b = new A())
52             {
53                 a.DoSomething();
54                 b.DoSomething();
55             }
56             Console.ReadLine();
57         }
58     }
59 }

using语句要求进程获得的所有资源能隐式的转换为IDisposable.这意味着它们必须实行IDisposable接口,否则会得到一个编译警告。

相关文章
|
7月前
|
存储 程序员 编译器
C++-关键字
C++-关键字
51 1
|
存储 算法 编译器
带你了解并掌握一些C++关键字的使用
带你了解并掌握一些C++关键字的使用
101 0
|
6月前
|
Java API
RentrantLock关键字详解
RentrantLock关键字详解
|
7月前
|
Java
|
7月前
|
编译器 C语言
初识关键字
初识关键字
|
Java
关键字this
关键字this
67 0
单链表删除第一次关键字
删除第一次出现关键字为key的节点
|
编译器 程序员 Linux
C++关键字之likely和unlikely
C++关键字之likely和unlikely
756 0
C++关键字之likely和unlikely
|
编译器 程序员 C++
C++关键字之fallthrough
C++关键字之fallthrough
384 0