مشاوره رایگان
دریافت لینک های دانلود دریافت پستی درب منزل مبلغ کل: تومان
جهت دریافت کد تخفیف به کانال تلگرام مراجعه و یا با پشتیبان آنلاین هماهنگ نمایید

آموزش متد method در سی شارپ - بخش پنجم


قسمت هفدهم

متد (method)

در این مقاله قصد داریم در دنباله بحث معرفی اعضای نوع داده کلاس در سی شارپ با ادامه مطلب در رابطه با متد (method) و صحبت در رابطه با کلمه کلیدی out بحث را ادامه بدهیم.

در مقالات قبلی متد (method) را مجموعه ای از دستورات در قالب یک بلاک که به منظور انجام عمل خاصی در کنار یکدیگر قرار می گیرند، تعریف کردیم. همچنین  گفتیم در تعریف یک متد (method) ، تعریف سطح دسترسی ، نوع داده برگشتی  (return type) و  پارامتر ها (parameters) ضروری هستند . همچنین در رابطه با تعریف یک متد در نوع داده کلاس در سی شارپ ، نحو فراخوانی یک متد ، تفاوت پارامتر با ارگومان و نیز نحوه ارسال پارامتر به متد صحبت کردیم و در مورد ارسال پارامتر به متد ، در ارسال نوع داده مقدار  (value type) به صورت ارسال هم به صورت ارسال با مقدار(passing by value) و هم به صورت ارسال با مرجع (passing by reference) صحبت کردیم و همین طور در رابطه با ارسال نوع داده مرجع  (reference type) ، به صورت ارسال با مقدار (passing by value) و به صورت ارسال با مرجع (passing by reference) صحبت کردیم. دراین مقاله قصد داریم تا با استفاده از کلمه کلیدی out اشنا شویم.

 کلمه کلیدی out

 در استفاده از متد با استفاده از return تنها یک داده برگشتی می توانیم داشته باشیم. اما با استفاده از کلمه کلیدی out می توان به مقادیر برگشتی از متد اضافه کرد. پارامتر ها ای (parameters) که قبل از انها از کلمه کلیدی out استفاده می شود ، مانند پارامترهاای (parameters) عمل می کنند که قبل از انها کلمه کلیدی ref استفاده شده است. با این تفاوت اصلی که از پارامترها (parameters) با کلمه کلیدی ref برای انتقال مقدار به داخل متد استفاده می شود اما از پارامتر های (parameters) با کلمه کلیدی out برای انتقال داده به خارج از متد استفاده می شود. برای تعریف یک پارامتر (parameter) از نوع out کافی است قبل از تعریف پارامتر (parameter)  و ارگومان (argument) متناظر با ان از کلمه کلیدی out استفاده کنیم.

نکته:

استفاده از کلمه کلیدی out مانند استفاده از کلمه کلیدی ref باعث می شود تا متغیر ارگومان (argument) به صورت ارسال با مرجع (passing by reference) به متد فرستاده شود.

 

مثال : تعریف ساده یک متد با پارامتر out

 

public class parameters

    {
        public void passparameters( out int n)

        {
            int result = 70;

            n = result;         

        }
    }

    class Program

    {

        static void Main(string[] args)

        {
            int x ;        

            Console.WriteLine(" the value of  x variable   before passing  to the method as an out argument =" + x);
        

            parameters oparameters = new parameters();
            oparameters.passparameters( out x);

            Console.WriteLine("the value of  x variable  after passing  to the method as out argument=" + x); 


        }     
} 

  

 در این مثال در متد passparameters یک پارامتر از نوع out با نام n تعریف شده است و در داخل متد مقدار متغیر result برای انتقال به خارج از متد به پارامتر n انتساب داده شده است. بعد از فراخوانی متد با استفاده از آرگومان متناظر با پارامتر n با نام x مقدار پارامتر خروجی n در آرگومان n ذخیره خواهد شد. خروجی قطعه کد بالا گویای این مطلب است.

the value of  x variable   before passing  to the method as an out argument =20

the value of  x variable  after passing  to the method as out argument= 70

 نکته:

 در ارسال آرگومان(argument) از نوع out از آنجا که این متغیر قرار است تا مقداری را از متد برگرداند و نه مقداری را به متد ارسال کند لازم نیست تا متغیر آرگومان (argument) مقدار دهی اولیه شود. اما درون متد باید به آن مقداری انتساب داده شود در غیر اینصورت باعث ایجاد خطا می شود.

مثال : خطا در عدم انتساب مقدار به پارامتر out درون متد

public class parameters

    {

        public void passparameters( out int n)

        {
            int result = 70;
        }

    }

    class Program

    {

        static void Main(string[] args)

        {
            int x;

            parameters oparameters = new parameters();

            oparameters.passparameters( out x);   
        }      

    }

در قطعه کد بالا با وجود اینکه آرگومان x مقدارد دهی نشده است اما ایجاد خطا نکرده است زیرا با توجه به اینکه این آرگومان (argument) از نوع برگشتی تعریف شده است کامپایلر انتظار دارد که در درون متد مقدار بگیرد در نتیجه عدم مقدار دهی پارامتر خروجی out درون متد باعث خطا زیر می شود :

 

 گرداوری :سمانه وزیریان

فصلِ: 1 , تعداد قسمت ها: 9 , سطح: صفر تا صد
موضوعات: آموزش سی شارپ

این فصل در یک نگاه:

آموزش ارسال پیامک، آموزش ارسال پیامک تکی و گروهی ، ارسال پیامک به صورت اختصاصی برای هر مشترک، دریافت پیامک، مشاهده وضعیت…

توضیحات کلی مجموعه:   آیا می دونید قیمت نرم افزارهای مدیریت پیامک در حدود 150 هزار تومان است؟ اما توسط این دوره شما میتونید با مبلغ بسیار کمتر یک نرم افزار مدیریت پیامک رو به صورت کاملا حر…
فصلِ: 9 , تعداد قسمت ها: 59 , سطح: صفر تا صد
موضوعات: آموزش سی شارپ

این فصل در یک نگاه:

در این فصل که فصل پایانی این دوره می باشد در مورد نحوه ساختن فایل نصبی سریع یا همان quick installer که روش پیشنهاد شده م…

توضیحات کلی مجموعه: پس از بازخوردهای بسیار خوبی که از دوره های آموزش برنامه نویسی سیستم اتوماسیون اداری و آموزش برنامه نویسی سیستم فروش و انبارداری مشاهده کردیم، تصمیم گرفتیم با توجه به درخ…
فصلِ: 13 , تعداد قسمت ها: 120 , سطح: صفر تا صد
موضوعات: آموزش سی شارپ

این فصل در یک نگاه:

در این فصل که فصل آخر از مجموعه بزرگ آموزش سیستم اتوماسیون اداری می باشد در ابتدا در مورد اسناد و نامه های خارج از سازما…

دوره صفر تا صد  آموزش برنامه نویسی و پیاده سازی سیستم اتوماسیون اداری تحت شبکه. (توصیه می شود دومی مجموعه را حتما ببینید) امروزه اطلاعات یکی از مهمترین و با ارزشترین منابع هر اداره و یا ساز…
فصلِ: 4 , تعداد قسمت ها: 14 , سطح: مقدماتی

این فصل در یک نگاه:

توضیح تنظیمات گرافیک و صدا در یونیتی پیاده سازی منو ها …

به نام خدا   بازی‌سازی یک حرفه بسیار جذاب است و تبدیل شدن به یک بازی‌ساز حرفه‌ای آرزوی همه ماست. اینکه بتوانیم دنیای خاصی خلق کنیم و در این دنیا قوانین خود را پیاده کنیم، همیشه ما را به وج…
فصلِ: 11 , تعداد قسمت ها: 92 , سطح: صفر تا صد

این فصل در یک نگاه:

اجرای سیستم روی سیستم، قرار دادن سیستم روی سرور، تعریف Connetion String، آشنایی با فایل App.config، ساخت رشته اتصال به ص…

مهمترین تکنولوژیهای استفاده شده در این دوره پروژه محور (سیستم فروش کالا و انبارداری) طراحی گرافیکی به روش WPF (Windows Presentaion Foundation) آموزش کامل برنامه نویسی xaml (برای طراحی های …
فصلِ: 5 , تعداد قسمت ها: 25 , سطح: صفر تا صد

این فصل در یک نگاه:

فصل پنجم…

توضیحات کلی مجموعه: درباره گیت: لذت پیش بردن پروژه های برنامه نویسی خود را با بهترین ورژن کنترل سیستم جهان تجربه کنید کامل ترین دوره ی آموزشی گیت و گیت هاب به همراه مثال های کاربردی گی…

تولید شده توسط کلیک سایت

پشتیبانی آنلاین
آماده پاسخگویی هستیم
انتخاب تصویر جهت ارسال:
در حال ضبط صدا

(جهت توقف و یا لغو ضبط از دکمه های زیر استفاده کنید)

توقف و ارسال :
لغو ضبط
در حال حاضر تمامی کارشناسان آفلاین هستند. همواره می توانید با شماره تلگرام / واتساپ 09010005000 به صورت آنلاین با ما در ارتباط باشید. جهت ورود به واتساپ کلیک کنید
0 پیام جدید
پشتیبان در حال تایپ ...
ارسال تصویر ضبط صدا
0 کارشناسان آنلاین می باشند
این گفت و گو توسط پشتیبان به اتمام رسید