تابع در سی شارپ
static void Main(string[] args)
}
;int z
;() z= sum
;Console.Write(z)
;() Console.ReadKey
{
() public static int sum
}
; int c
; c = 10+20
; return c
{
در برنامه ی بالا مقدار تابع sum را که حاصل برگشتی return c بود درون متغییری به نام Z ریختیم سپس اقدام به چاپ آن نمودیم البته می توانستیم متغییر Z را تعریف نکنیم و در بدنه ی اصلی به یکباره سراغ چاپ آن برویم مثل خط زیر
;Console.Write(sum())
توابع می توانند مقدایر ورودی نیز داشته باشند مثل تابع زیر
static void Main(string[] args)
}
;int x , y, z
;x = Convert.ToInt32(System.Console.ReadLine())
;y = Convert.ToInt32(System.Console.ReadLine())
;z = sum(x,y)
;Console.Write(z)
{
public static int sum(int a, int b)
}
;return 10
{
توابع می توانند به تعداد زیاد با نام یکسان تکرار شوند اما ورودی های متفاوتی داشته باشند .
static void Main(string[] args)
}
;int x , y, z
;string k
;x = Convert.ToInt32(System.Console.ReadLine())
;y = Convert.ToInt32(System.Console.ReadLine())
;z = sum(x,y)
;Console.Write(z)
public static int sum(int a)
}
;return 9
{
public static int sum(int a, int b)
}
;return 10
{
public static int sum(int a , int b , int c)
}
;return 11
{
توابع می توانند به صورت رشته ای نیز باشند
مثال :
static void Main(string[] args)
}
;"string k="good
;string f
;f = sum(k)
;Console.Write(f)
;()System.Console.ReadKey
{
public static string sum(string s)
}
;Console.Write(s)
;"s = "Thanks
;return s
{
ما در خط سوم متغییر k را تعریف کردیم که مقدار good درون آن قرار گرفت و در خط چهارم متغییر f را تعریف کردیم و در خط پنجم تابع sum را فراخوانی کردیم و متغییر k را درون (k)sum صدا زدیم . با انجام این کار مقدار k که همان good می باشد را درون متغییر s که بعنوان ورودی تابع sum می باشد قرار دادیم . در اینجا خط ششم اجرا نمی شود و برنامه به تابع sum می رود . در تابع sum مقدار k را که درون s قرار داده بودیم چاپ می کند به عبارتی کلمه ی good چاپ می شود. سپس به سراغ خط بعد از آن می رود و مقدار s را تغییر می دهد و آن را برابر با Thanks می کند و در خط آخر return مقدار S را بر می گرداند و در متغییر f قرار می دهد . سپس در خط ششم از تابع اصلی یا همان main مقدار s که برابر با Thanks بود چاپ می شود . خط هفتمم که قبلا نیز توضیح داده بودم صرفا جهت اینکه برنامه بسته نشود و ما بتوانیم خروجی را مشاهده کنیم می نویسیم .
نکته : دستورات بعد از return اجرا نمی شود .
نکته : دستورات به صورت خط به خط اجرا می شود . اولویت با خط کدی می باشد که در بالاترین خط قرار گرفته است .
نکته : مقادیر پس از ورود به تابع می توانند تغییر کنند یا نکنند. هر دو حالت امکان پذیر است .