نمایش نتایج 1 تا 3 از 3

نام تاپیک: معنی این کد چیست؟

  1. #1

    معنی این کد چیست؟

    سلام
    معنی کد زیر چیست ؟
                using (var game = new Game1())
    game.Run();


    فقط using نمیفهمم.
    مگه using برای اوردن namespace به کد ما نبود؟

  2. #2

    نقل قول: معنی این کد چیست؟

    کد اول و کد دوم معادل هستند.
    کد اول

    using (Font font1 = new Font("Arial", 10.0f))
    {
    byte charset = font1.GdiCharSet;
    }


    کد دوم

    {
    Font font1 = new Font("Arial", 10.0f);
    try
    {
    byte charset = font1.GdiCharSet;
    }
    finally
    {
    if (font1 != null)
    ((IDisposable)font1).Dispose();
    }
    }
    اطلاعات بیشتر در این صفحه :
    https://docs.microsoft.com/en-us/dot...sing-statement
    آخرین ویرایش به وسیله pe32_64 : جمعه 13 مهر 1397 در 13:00 عصر

  3. #3
    کاربر دائمی آواتار ali_md110
    تاریخ عضویت
    فروردین 1385
    محل زندگی
    شیراز
    پست
    1,181

    نقل قول: معنی این کد چیست؟

    بکارگیری این using با using اعلانات namespace تفاوت دارد

    این using برای کلاسهایی کاربرد دارد که از اینترفیس IDisposable ارث بری کرده باشد
    در دات نت یک مکانیزمی هست بنام GC یا زباله روب garbage collector
    مثالی میزنم : هر زمان به یک کلاس با new کردن دسترسی پیدا کردیم این وهله سازی مقداری حافظه اشغال میکند و هر وقت از کلاس استفاده شد پس از مدتی سیستم دات نت باید بلافاصله منابع بکار گرقته شده برای این وهله سازی را رها سازد وظیفه این زباله روب همین هست , پاک کردن زباله ها بصورت اتوماتیک

    اما بعضی از کلاسها مخصوصا کلاسهایی که با اشیاء خارجی سروکار دارند و یا از منابع unmanaged استفاده میکنند مثل کلاس SqlConnection و streamReader و دهها کلاس مشابه دیگر ,نیاز است بصورت دستی منابع استفاده شده ان را رها کرد به همین خاطر این کلاسها از رابط IDisposable ارث بری کرده و فقط کافیست متد Dispose را صدا بزنیم البته سیستم زباله روب همین کلاسها را هم مدیریت میکند
    دو راه وجود دارد
    یکی:
    از بلاک try finally استفاده کنیم

    StreamReader s = new StreamReader("File1.txt");
    try
    {
    // process with s
    s.Close();
    }


    finally
    {
    if (s != null)
    s.Dispose();
    //پاکسازی در اینجا صورت میگیرد با صدا زدن dispose
    }


    برای اینکه کد تمیزتری داشته باشیم و مطمئن باشیم پاک سازی حافظه بصورت اتوماتیک انجام میشود و از نوشتن try finally خسته کننده رها شویم از دستور Using بجای try finally استفاده کنیم

    using (StreamReader sr = new StreamReader("file1.txt"))
    {

    sr.Close();

    }//اینجا پاکسازی میشود


    به محض رسیدن به آخرین braces یا } دستورات پاکسازی اجرا میشود( منظورم همون Dispose هست)
    آخرین ویرایش به وسیله ali_md110 : شنبه 21 مهر 1397 در 12:50 عصر دلیل: غلط املایی

تاپیک های مشابه

  1. مشکل این کد چیست؟
    نوشته شده توسط kama2222 در بخش برنامه نویسی در 6 VB
    پاسخ: 5
    آخرین پست: سه شنبه 26 آذر 1387, 19:11 عصر
  2. معنی این پیام چیست؟
    نوشته شده توسط nazemmazem در بخش Access
    پاسخ: 1
    آخرین پست: جمعه 30 فروردین 1387, 00:42 صبح
  3. معنی این کد
    نوشته شده توسط nima_dir در بخش طراحی وب (Web Design)
    پاسخ: 1
    آخرین پست: دوشنبه 10 دی 1386, 01:33 صبح
  4. معنی این کد چی می شه ؟
    نوشته شده توسط senator_aka در بخش برنامه نویسی با زبان C و ++C
    پاسخ: 4
    آخرین پست: شنبه 09 تیر 1386, 10:17 صبح
  5. معنی این کد چیه؟
    نوشته شده توسط Clever_MRG در بخش VB.NET
    پاسخ: 3
    آخرین پست: یک شنبه 20 فروردین 1385, 22:35 عصر

قوانین ایجاد تاپیک در تالار

  • شما نمی توانید تاپیک جدید ایجاد کنید
  • شما نمی توانید به تاپیک ها پاسخ دهید
  • شما نمی توانید ضمیمه ارسال کنید
  • شما نمی توانید پاسخ هایتان را ویرایش کنید
  •