zoukankan      html  css  js  c++  java
  • using 关键字

    using 关键字常见的有三种用途;

    1.导入命名空间,以便在命名空间中使用类型而不必指定命名空间。 (最简单,最常见)

       如:using System;

       一般来说,导入的命名空间应该在本工程内,或者引用了该命名空间的包。

    2.创建using 别名,以便更易于将标识符限定到命名空间或类型。 (不常用)

      如:using print = System.Console;

      这样如果我们想输出东西到控制台的话,可以直接写成:print.WriteLine("HELLO");

      不定义别名的写法是:Console.WriteLine("HELLO");

      其实两者差不多,呵呵,例子比较简单,这种写法不是很常见。

      注意:

      1)别名(本例中位print)后面可以是命名空间,也可以是命名空间下的对象。

      2)创建using别名的语句必须写在引用类的外部。

    3. using 语句,定义一个范围,将在此范围之外释放一个或多个对象。 (常用)

       一般来说,CLR会自动在对象不被引用后执行垃圾回收,释放资源。但是,这样回收具有不确定性,有些时候,我们希望执行完以后马上就把资源回收,而不是等CLR来做。比如在网络连接,文件句柄等资源有限的情况下,这时候就可以用using 语句了。

       比如:

      using (TransactionScope tran = new TransactionScope()){}

      此语句相当于一个try/finally语句,在try里面执行完(不管是否抛异常),都会执行一些操作。

      注意:

     1)为 using 语句提供的对象必须实现 IDisposable 接口。此接口提供了 Dispose 方法,该方法将释放此对象的资源。

      测试代码:

     

    代码
        class Program
        {
            
    static void Main(string[] args)
            {
                
    using (LimitedResource lr = new LimitedResource()) 
                {
                    lr.Print();
                }
                Console.ReadLine();
            }
        }

        
    /// <summary>
        
    /// 测试类
        
    /// </summary>
        class LimitedResource : IDisposable
        {
            
    public void Print() 
            {
                Console.WriteLine(
    "Using limited resource...");
            }

            
    /// <summary>
            
    /// 此方法关闭或释放由实现此接口的类的实例保持的文件、流和句柄等非托管资源
         /// </summary>
            public void Dispose() 
            {
                Console.WriteLine(
    "Disposing limited resource...");
            }
        }

     

  • 相关阅读:
    突然连不上VSS等服务器的原因之一
    “复制到剪贴板”的解决方案
    设置SQLServer2008开启远程连接(转)
    对List(IList)集合作求和,最大(小)值操作
    .net实现简单语音朗读(TTS)功能
    17点成就你的好代码
    2011年上半年五大臭名昭著的数据库泄密事件
    Spring Mobile 1.1.0.M2 发布
    Rainbows! 4.4.3 发布,修复 EventMachine 问题
    情绪不是反应,而是决定
  • 原文地址:https://www.cnblogs.com/liaozh/p/1641521.html
Copyright © 2011-2022 走看看