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

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


قسمت هجدهم

متد (method)

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

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

کلمه کلیدی params

با استفاده از کلمه کلیدی params می توان تابعی تعریف کرد که در ان تعداد متغیر های ورودی متغیر است. این تعریف برای مواقعی مفید خواهد بود که تعداد پارامتر های ورودی مشخص نیست. البته تمامی پارامتر های معرفی شده توسط کلمه کلیدی param  از یک جنس خواهند بود.

مثال : استفاده از کلمه کلیدی param  در  ارسال پارامتر به متد


 

   public class parameters

    {

        public int passparameters( params int[] n)

        {
            int result = 0;

            for (int i=0; i< n.Length;i++)          

            {

                result+= n[i];

            }

            return (result);      

        }

    }

     class Program
    {
        static void Main(string[] args)
        {
            parameters oparameters = new parameters();
            int[] x = { 30, 70, 80, 60, 30 };
            int sumArrayItem = oparameters.passparameters(x);

            Console.WriteLine(" the value of  sumArrayItem variable   after   invoke the method is =" + sumArrayItem);  

        }       
    }


 در این مثال در متد passparameters یک پارامتر که متغیری از نوع آرایه ای از int  است از نوع Params  تعریف شده است.  و در درون متد مجموع مقادیر این آرایه به عنوان مقدار برگشتی برگشت داده می شود. و در متد main در زمان فراخوانی متد passparameters آرایه از نوع int  با نام x تعریف شده است و به عنوان  آرگومان (argument) به متد passparameters  ارسال می شود. و در نهایت حاصل جمع مقادیر آرایه ارسالی به عنوان آرگومان (argument) در قالب متغیر  sumArrayItem نمایش داده می شود.خروجی به صورت زیر خواهد بود:

the value of  sumArrayItem variable  after   invoke the method is = 270

نکته :

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

مثال: خطا در استفاده از کلمه کلیدی params

public int passparameters( params int[] n , string x)

        {
            int result = 0;

            for (int i=0; i< n.Length;i++)          

            {
                result += n[i];
            }

            return (result);      

        }

درمثال بالا در تعریف متد passparameters بعد از تعریف پارامتر با نام n  با کلمه کلیدی params یک پارامتر دیگر از نوع string با نام x   تعریف شده است که باعث ایجاد خطای زمان کامپایل زیر خواهد شد:

 در مثال بالا اگر تعریف پارامتر ها (parameters)  به صورت زیر اصلاح شود یعنی تعریف پارامتر از نوع string قبل از از تعریف پارامتر با نام  n  با کلمه کلیدی params قرار بگیرد این خطا برطرف خواهد شد.

public int passparameters(  string x, params int[] n)

        {

            int result = 0;

            for (int i=0; i< n.Length;i++)

            {

                result += n[i];

            }

            return (result);      

        }

نکته :

نکته قابل توجه در این است که تنها یک بار می توان از کلمه کلیدی params در تعریف پارامتر (parametere) استفاده کرد. در غیر این صورت با خطای زمان کامپایل مواجه خواهیم شد:

مثال: خطا در استفاده از کلمه کلیدی params

   public int passparameters( params string[] x, params int[] n)

        {
            int result = 0;

            for (int i=0; i< n.Length;i++)

            {

                result += n[i];

            }

            return (result);      

        }

در مثال بالا دو بار استفاده از کلمه کلیدی params   در تعریف پارامتر در متد passparameters ، باعث ایجاد خطای زمان کامپایل  زیر خواهد شد:

پس به طور کلی در رابطه با ارسال پارامتر به یک متد ، پارامتر ها:

  • می توانند به صورت لیستی از متغیر ها که با کاما از یکدیگر جدا شده اند باشدند.
  • می توان پارامتری با استفاده از کلمه کلیدی param تعریف کرد که در ان تعداد متغیرها ورودی متغیر است.
  • می توان پارامترها را به صورت ارسال با مقدار بدون(passing by value) استفاده از کلمه کلیدی ref تعریف کرد.
  • می توان پارامترها را به صورت ارسال با مرجع (passing by reference) با استفاده از کلمه کلیدی ref تعریف کرد.
  • می توان پارامتر خروجی با استفاده از کلمه کلیدی 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 کارشناسان آنلاین می باشند
این گفت و گو توسط پشتیبان به اتمام رسید