Для чего нужен оператор using и в каких случаях он необходим? - C#

Узнай цену своей работы

Формулировка задачи:

Несколько раз сталкивался в C# с

оператором

using. Но не могу понять для чего он нужен. Сейчас разбираюсь с opencvsharp. Нашел в интернете один необходимый мне пример:
using System;
using OpenCvSharp;
namespace OpenCV
{
    class Program
    {
        [STAThread]
        static void Main()
        {
            using (CvCapture cap = CvCapture.FromCamera(2))
            using (CvWindow w = new CvWindow("OpenCV Example"))
            {
                while (CvWindow.WaitKey(10) < 0)
                {
                    using (IplImage src = cap.QueryFrame())
                    using (IplImage gray = new IplImage(src.Size, BitDepth.U8, 1))
                    using (IplImage dstCanny = new IplImage(src.Size, BitDepth.U8, 1))
                    {
                        src.CvtColor(gray, ColorConversion.BgrToGray);
                        Cv.Canny(gray, dstCanny, 50, 50, ApertureSize.Size3);
                        w.Image = dstCanny;
                    }
                }
            }
        }
    }
}
Но вот не понимаю зачем там используется оператор using если при замене этого кода на
using System.Windows.Forms;
using OpenCvSharp;
using OpenCvSharp.Extensions;
 
namespace Bridge
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
            OpenFileDialog open = new OpenFileDialog();
            if (open.ShowDialog() == DialogResult.OK)
            {
                IplImage img = IplImage.FromFile(open.FileName);
                IplImage gray = new IplImage(img.Size, BitDepth.U8, 1);
                IplImage dstCanny = new IplImage(img.Size, BitDepth.U8, 1);
                img.CvtColor(gray, ColorConversion.BgrToGray);
                Cv.Canny(gray, dstCanny, 50, 50, ApertureSize.Size3);
                p1.Image = dstCanny.ToBitmap();
            }
        }
    }
}
ничего не меняется. Программы немного разные, но на всякий случай привел полный код, хотя от него вроде не зависит использование оператора в данном случае.

Решение задачи: «Для чего нужен оператор using и в каких случаях он необходим?»

textual
Листинг программы
CvCapture cap = null;
try
{
   cap = CvCapture.FromCamera(2);
   ... Ваш код
}
finally
{
   if (cap != null)
      cap.Dispose();
}

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

12   голосов , оценка 4.083 из 5
Похожие ответы