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

نام تاپیک: فوری-تفاوت بین ref و out در c # چیه ؟

  1. #1

    Question فوری-تفاوت بین ref و out در c # چیه ؟


    تفاوت بین ref و out در ارسال پارامتر چیه؟
    لطفا پاسخ دهید!

  2. #2

    نقل قول: فوری-تفاوت بین ref و out در c # چیه ؟

    همونطوری که ی دونی یه تابع با پارامترهاش مفهوم پیدا می کنه مثلا
    public void function(integer p1,string p2)


    در حالت معمول شما از یک تابع فقط یک مقدار خروجی رو می گیرید ، حالا یه وقتایی هست که مثلا شما می خواین از یه تابع بیشتر از یه مقدار خروجی را بگیرید در این مواقع یک کلمه کلیدی Out رو به اول پارامترهای تابعتون اضافه می کنید و در بدنه تابع آنرا مقدار دهی می کنید ، پس از اجرای تابع شما می تونید اون مقدار و هم داشته باشین .
    کلمه کلیدی ref هم همون Call By Refrence هست که توضیحات زیادی می تونی تو همین سایت در موردش پیدا کنی اگه هم کاربردشو بخوای بدونی مثلا تابعی که جای دو عدد a و b رو عوض کنه یعنی مقدار a رو بریزه تو b و بالعکس

  3. #3

    نقل قول: فوری-تفاوت بین ref و out در c # چیه ؟

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

  4. #4

    نقل قول: فوری-تفاوت بین ref و out در c # چیه ؟

    کاملترینش رو اینجا در این سایت توضیح داده:

    http://lmgtfy.com/?q=out+C%23+ref+C%23

  5. #5
    کاربر دائمی آواتار Unknownlive
    تاریخ عضویت
    فروردین 1388
    محل زندگی
    زیر آسمون شهر
    پست
    478

    نقل قول: فوری-تفاوت بین ref و out در c # چیه ؟

    تفاوتی که داره Out اگه باشه انتساب مقدار به پارامتر اجباری میشه اما Ref اختیاری می باشد و می توان پارامتری را ارسال نکرد

  6. #6
    کاربر دائمی آواتار powerboy2988
    تاریخ عضویت
    تیر 1385
    محل زندگی
    تهران
    سن
    37
    پست
    1,301

    نقل قول: فوری-تفاوت بین ref و out در c # چیه ؟

    نقل قول نوشته شده توسط Unknownlive مشاهده تاپیک
    تفاوتی که داره Out اگه باشه انتساب مقدار به پارامتر اجباری میشه اما Ref اختیاری می باشد و می توان پارامتری را ارسال نکرد
    كلا شما مي توني به 2 صورت اطلاعات رو به يك event پاس بدي

    1. by value
    2. by reference

    بطور معمول شما بيشتر متغير ها رو به صورت by value ارسال مي كني... اين روش به اين صورت مي باشد كه يك كپي از محتواي متغير مي گيره و به event ميده و event كار هاشو باهاش انجام ميده و وقتي كار event تموم شد اون كپي هم دور ريخته ميشه و اطلاعات اون متغير اصلي شما بدون هيچ دست كاري سالم باقي ميمونه

    اما وقي از كلمه Ref استفاه مي كني شما آدرس اون متغير اصليتو پاس ميده به event و تغييراتي كه در اون event رخ ميده روي همون متغير اصلي شما انجام ميشه

    و منظور از Out .. شما وقتي يك event داري مثل عملياتي روي 2 تا عدد و مي خواي توي اين event هم جمع 2 تا عدد رو حساب كني و هم ضربشونو و اينو هم مي دوني كه event يك خروجي بيشتر نداره... براي همين يك پارامتر تعريف مي كني كه از نوع Out باشه كه به عنوان خروجي اون Event استفاده مي شه... كه با اين كار مي توني هم ضرب و هم جمع رو به خروجي بدي..

  7. #7

    نقل قول: فوری-تفاوت بین ref و out در c # چیه ؟

    نقل قول نوشته شده توسط a.mahdi.h مشاهده تاپیک

    تفاوت بین ref و out در ارسال پارامتر چیه؟
    لطفا پاسخ دهید!
    هر چند قدیمی شده اما :
    ۱- ref : ارسال به وسیله reference هست . شما وقتی مقداری رو از نوع ref پاس میدید باید حتما قبل از هر چیز مقدار ref حاوی مقدار باشه . یعنی ref حتما به initial نیا داره . و وقتی شما از اون ع passbyReference این کار رو انجام می دید یعنی شما خانه حافظه ای رو در stack‌میگیرید و سپس مقدار اون رو در حافظه heap نگه داری میکنید . که ادرس خونه حافظه heap تخصیص داده شده در خانه حافظه stack میشنه که در این صورت مقدار حتما به خودش میگیره . پس تو استفاده از pass by ref نیازی به برگردوندن مقدار نیست .
    2- out : اما برای استفاده از out شما میتونید مقداری رو initial نکنید ولی در ارسال پارامتر به وسیله out شما حتما مقدار برگشتی از متد مربوطه خواهید داشت . ومقدار مورد نظر شما در همون خونه حافظه stack میشنه و چون pass by ref نیست پس در خانه حافظه heap اتفاقی نمی افته .

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

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