*استفاده مکرر از متد در برنامه یا برنامه ها
*سهولت در خطایابی و رفع عیب برنامه
*سهولت در کد نویسی و خوانا بودن برنامه
*سهولت در توسعه برنامه
accese modifire/ return type/ methode name(Argument)
سطح دسترسی/ نوع برگشتی/ نام متد(پارامتر ها)
برخی از سطوح دسترسی عبارتند از:
public==قابل دسترس بودن در کلاس یا زیر کلاس و دیگر کلاس ها
private==قابل دسترس بودن تنها در کلاس خود
internal==قابل دسترس بودن در همان فضا نام
protected==قابل دسترس بودن در کلاس و زیر کلاس
ممکن است یک متد بر حسب کاری که انجام میدهد یک مقدار به برنامه برگرداند نوع این مقدار در امضا متد باید مشخص باشد
در صورتی که متد چیزی به برنامه بر نگرداند از کلمه کلیدی(void)به جای نوع برگشتی استفاده میشود
نام متد بهتر است متناسب با کاری که انجام میدهد باشد
قوانین نام گذاری متد همانند متغیر می باشد
public static void main(string[] args)
مثال:static int sum(int a,int b,int c){ int s = a+b+c; return s; } static int sub(int a,int b){ return (a-b); } static void print(){ console.writeline("method Example"); }
تعریف چند متد با یک نام و با ارگومانها و نوع های برگشتی متفاوت
مثال:static int sum(int c,int d){ return (c+d); } static int sum(int a,int b,int c){ return (a*b*c); } static double sum(double a,double,b){ return (a+b); }
تمرین 1:برنامه ای بنویسید که تعدادی عدد از کاربر دریافت نموده و در یک ارایه ذخیره کند سپس مفدار مکس و مین ارایه را نمایش دهد(هر کدام در متدهای جدا).
آشنایی با چند کلمه کلیدی در متد ها:
out :با به کارگیری این کلمه در ارگومانهای متد میتوان یک پارامتر خروجی داشت
مثال:
static int maxval(int[] arr , out int maxindex) { int maxval = arr[0]; int maxindex = 0; for (int i=1 ; i < arr.Length ; i++) { if (arr[i] > maxval) { maxval= arr[i]; maxindex= i; } } return maxval; }
ref: pass by Refrence
مثال:
static void showdouble(ref int a) { a += 2; Console.WriteLine(a); } static void Main(string[] args) { int x = 5; showdouble(ref x); Console.WriteLine("x is:" + x ); }
Params:
مثال:
static int sumvalues(params int[] refs) { int sum = 0; foreach (int x in refs) sum += x; return sum; } static void Main(string[] args) { int sum = sumvalues(2, 3, 4, 6, 7); Console.WriteLine(sum); }