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

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

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

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

оператором

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

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

textual
Листинг программы
  1. CvCapture cap = null;
  2. try
  3. {
  4.    cap = CvCapture.FromCamera(2);
  5.    ... Ваш код
  6. }
  7. finally
  8. {
  9.    if (cap != null)
  10.       cap.Dispose();
  11. }

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


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

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

12   голосов , оценка 4.083 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы