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

نام تاپیک: منظور از استفاده از using به جای try - catch چیه

  1. #1

    منظور از استفاده از using به جای try - catch چیه

    سلام من این قطعه کد را توی همین سایت دیدم ولی کاملا نفهمیدم چی شده و لطفا اساتید یک توضیحی بدن .

    منظور از استفاده از using به جای try - catch چیه و کجاها میشه از این روش استفاده کرد ؟

    ممنون


    نقل قول نوشته شده توسط sinpin مشاهده تاپیک
    عادت کنید که همیشه از using استفاده کنید.
    برای مثال :
    using (FileStream FS = new FileStream("Test.txt", FileMode.Create))
    {
    FS.WriteByte((byte)1);
    FS.WriteByte((byte)2);
    FS.WriteByte((byte)3);
    using (StreamWriter SW = new StreamWriter(FS))
    {
    SW.WriteLine("some text.");
    }
    }
    که اگر بخواهید مثال بالا را به بدون استفاده از using پیاده سازی کنید باید چیزی شبیه به تیکه کد زیر بنویسید :
    FileStream FS = new FileStream("Test.txt", FileMode.Create);
    try
    {
    FS.WriteByte((byte)1);
    FS.WriteByte((byte)2);
    FS.WriteByte((byte)3);
    StreamWriter SW = new StreamWriter(FS);
    try
    {
    SW.WriteLine("some text.");
    }
    finally
    {
    if (SW != null)
    {
    ((IDisposable)SW).Dispose();
    }
    }
    }
    finally
    {
    if (FS != null)
    {
    ((IDisposable)FS).Dispose();
    }
    }
    همینطور که میبینید استفاده از using کد شما را راحتتر، خواناتر و کوتاه تر میکند.

    منبع : "C#‎‎‎ 3.0 Cookbook™, Third Edition"

  2. #2
    کاربر دائمی آواتار m_ali_gho
    تاریخ عضویت
    اسفند 1388
    محل زندگی
    مازندران-بابل
    سن
    38
    پست
    107

    نقل قول: توضیح در مورد این قطعه کد

    بصضی از متدها و کلاسها قابلیت Idisposable دارن. یعنی کاربر میتونه به سیستم بگه که من دیگه با این ... کاری ندارم، شما میتونی حافظه ای که بهش تخصیص دادی رو آزاد کنی. کاری که تو قسمت اول انجام میشه اینه که میاد یه شی رو به وسیله using تعریف میکنه. برنامه از این داستان اینو برداشت میکنه که فقط تو این بلوک با این شی کار داره و زمانی که از بلوک مربوطه خارج میشه، شی رو از بین میبره یعنی فضای تخصیص داده شده به این شی آزاد میشه.
    اما قسمت دوم با استفاده از بلوک های try و cathc و finaly نوشته شده که شما باید با متد dispose برای آزاد سازی حافظه کار کنی. یعنی وقتی کارت با اون شی مورد نظر تموم میشه باید به برنامه بگی که من کارم تموم شده. برخلاف قسمت اوا که برنامه با کمک بلوک های موجود هوشمندانه متوجه تموم شدن اعتبار شی میشه

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

  1. سوال: استفاده از if به جای try catch در حلقه ها
    نوشته شده توسط mohammadyaser در بخش ASP.NET Web Forms
    پاسخ: 4
    آخرین پست: چهارشنبه 22 آذر 1391, 13:10 عصر
  2. استفاده از Try...Catch به جای چک کردن FK
    نوشته شده توسط bmanfy در بخش بانک های اطلاعاتی در Delphi
    پاسخ: 3
    آخرین پست: شنبه 08 اسفند 1388, 08:05 صبح
  3. استفاده از Try...Catch به جای چک کردن FK
    نوشته شده توسط bmanfy در بخش SQL Server
    پاسخ: 1
    آخرین پست: پنج شنبه 06 اسفند 1388, 16:06 عصر
  4. استفاده از enter به جای click موس
    نوشته شده توسط naderigh در بخش Foxpro
    پاسخ: 1
    آخرین پست: یک شنبه 24 اسفند 1382, 16:18 عصر

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

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