C#语法糖foreach语句和using语句联合使用

    foreach语句可以和using语句联合使用,比如你需要对多个相机设备进行一些设置,设置完就调用 Dispose() 释放相机资源,

这时可以这样写:

 

模拟的设备类:

class Device : IDisposable
    {
        public void SetProperty()
        {
            Console.WriteLine("设置了属性!");
        }
        public void Dispose()
        {
            Console.WriteLine("释放了设备资源。");
        }
    }
设备类
static void Main(string[] args)
        {

            List<Device> deviceList = new List<Device>() { new Device(), new Device() };
            foreach (var device in deviceList)
                using (device)
                {
                    device.SetProperty();
                }
            Console.WriteLine("执行完毕!");

            Console.ReadKey();
        }

输出如下:

设置了属性!
释放了设备资源。
设置了属性!
释放了设备资源。
执行完毕!

using语句会在紧跟其后()中的对象超出作用域时调用其 Dispose() 方法,如果此处不使用using则需要另外处理设备资源的释放。

posted @ 2021-10-26 10:37  陈百川  阅读(161)  评论(0)    收藏  举报