• using 和 foreach


    原文如下:

    using关键字
    首先是using关键字,using关键字的作用是对IDisposable资源作管理,保证不会发生泄漏等问题。例如:

    using (var stream = new FileStream("", FileMode.Create))
    {
        // do something
    }那么,它又是怎么做的呢?其实效果是这样的:

    var stream = new FileStream("", FileMode.Create);
    try
    {
        // do something
    }
    finally
    {
        if (stream != null)
        {
            stream.Dispose();
        }
    }看代码不说话。我想了解一下,您是喜欢直接写第二段代码,还是写using代码呢?

    foreach关键字
    foreach关键字是配合IEnumerable作遍历时使用的,比如这样的代码:

    foreach (var i in source)
    {
        Console.WriteLine(i);
    }其实等价于:

    using (var etor = source.GetEnumerator())
    {
        while (etor.MoveNext())
        {
            Console.WriteLine(etor.Current);
        }
    }咦,看上去并不复杂啊,只是多了一级缩进而已。不过您注意到没有,这里居然用到了“臃肿”的using关键字,所以说,这里的代码理应是这样写的:

    var etor = source.GetEnumerator();
    try
    {
        while (etor.MoveNext())
        {
            Console.WriteLine(etor.Current);
        }
    }
    finally
    {
        if (etor != null)
        {
            etor.Dispose();
        }
    }

  • 相关阅读:
    [ActionSprit 3.0] FMS直播
    Selenium学习之==>Css Selector使用方法
    Selenium学习之==>Xpath使用方法
    Selenium学习之==>WebDriver驱动对照表
    Selenium学习之==>Selenium介绍
    HTML学习之==>JS
    HTML学习之==>DOM操作
    HTML学习之==>CSS
    HTML学习之==>HTML标签
    Python学习之==>线程&&进程
  • 原文地址:https://www.cnblogs.com/mane/p/1829965.html
Copyright © 2020-2023  润新知