آموزش استفاده از پارامترهای تابع در سی شارپ
وقتی که یک تابع نیاز به پذیرش پارامترها دارد، باید موارد زیر را مشخص کنیم:
1. باید یک لیست از پارامترهای پذیرفته شده توسط تابع، در تعریف آن، به همران نوع آن پارامترها قرار گیرد.
2. باید در هر فراخوانی تابع که انجام می شود، یک لیست مطابقت کننده از آرگومان ها مشخص شود.
نکته: اگر با دقت مشخصات سی شارپ را مطالعه کنید، خواهید دانست که یک تفاوت ظریف بین پارامترها و آرگومان ها وجود دارد. پارامترها بعنوان بخشی از تعریف یک تابع مشخص می شوند، درحالی که آرگومان ها با فراخوانی کدها، به یک تابع پاس داده می شوند. اما این دو اصطلاح، اغلب به جای یکدیگر مورد استفاده قرار می گیرند و کسی در مورد آن نگرانی به خود راه نمی دهد.
نکته ی خودمونی: به متغیرهایی در تعریف یک تابع که بین پرانتزهای تابع قرار می گیرند و از آنها در بدنه ی تابع استفاده می شود، پارامتر گفته می شود. و وقتی که داریم در کدنویسی، نام یک تابع را صدا می زنیم، مقادیری که بین پرانتزها به تابع داده می شود، آرگومان نامیده می شود.
این شامل کد زیر می شود که می توانیم هر تعداد که بخواهیم، پارامتر تعریف کنیم؛ و برای هرکدام یک نوع و یک نام مشخص کنیم:
static <returnType> <FunctionName>(<paramType> <paramName>, ...)
{
...
return <returnValue>;
}
این پارامترها در کد بالا با استفاده از کاما از یکدیگر جدا شده اند و هر یک از آنها در کدهای درون تابع، بعنوان یک متغیر در دسترس هستند. بعنوان مثال، یک تابع ساده، ممکن است دو پارامتر double داشته باشد و آنها را در هم ضرب کند و برگرداند(return کند):
static double Product(double param1, double param2) => param1 * param2;
در مثال خودتان امتحان کنید زیر، یک مثال پیچیده تر ارائه شده است.
مثال خودتان امتحان کنید: تبادل داده با یک تابع(بخش اول): Ch06Ex02\Program.cs
1. یک اپلیکیشن کنسول جدید در ویژوال استودیو به نام Ch06Ex02 ایجاد کنید و آن را در آدرس زیر ذخیره کنید:
C:\BeginningCSharp7\Chapter06
2. کد زیر را در فایل Program.cs اضافه کنید:
class Program
{
static int MaxValue(int[] intArray)
{
int maxVal = intArray[0];
for (int i = 1; i < intArray.Length; i++)
{
if (intArray[i] > maxVal)
maxVal = intArray[i];
}
return maxVal;
}
static void Main(string[] args)
{
int[] myArray = { 1, 8, 3, 6, 2, 5, 9, 3, 0, 2 };
int maxVal = MaxValue(myArray);
WriteLine($"The maximum value in myArray is {maxVal}");
ReadKey();
}
}
3. کدها را اجرا کنید. نتیجه در تصویر 6.2 نشان داده شده است.
(تصویر 6.2)

این کدها چگونه کار می کنند
این کد حاوی تابعی است که همان کاری را انجام میدهد که تابع مثال در ابتدای این فصل امیدوار بودیم انجام دهد. این کد، یک آرایه از اعداد صحیح(integer) بعنوان پارامتر می پذیرد و بزرگترین عدد را در این آرایه برمی گرداند. تعریف این تابع به صورت زیر است:
static int MaxValue(int[] intArray)
{
int maxVal = intArray[0];
for (int i = 1; i < intArray.Length; i++)
{
if (intArray[i] > maxVal)
maxVal = intArray[i];
}
return maxVal;
}
تابع MaxValue() یک پارامتر تکی تعریف شده، و یک آرایه ی int به نام intArray دارد. این تابع همچنین یک نوع مقدار برگشتی به نام int دارد. محاسبه ی مقدار ماکزیمم ساده است. یک متغیر integer محلی به نام maxVal با اولین مقدار در آرایه ی مورد نظر، مقداردهی اولیه شده است و آنگاه این مقدار با هریک از عناصر بعدی در آرایه مورد مقایسه قرار می گیرد.
اگر یک عنصر حاوی یک مقدار بیشتر نسبت به maxVal باشد، آنگاه این مقدار جایگزین مقدار فعلی maxVal می شود. وقتی که این حلقه پایان می یابد، maxVal حاوی بزرگترین مقدار در این آرایه می باشد و با استفاده از دستور return، برگردانده می شود.
کدی که در Main() قرار دارد، یک آرایه از اعداد صحیح(integer) ساده را تعریف و مقداردهی اولیه می کند تا با تابع MaxValue() مورد استفاده قرار گیرد:
int[] myArray = { 1, 8, 3, 6, 2, 5, 9, 3, 0, 2 };
از فراخوانی MaxValue() برای انتساب یک مقدار در متغیر صحیح(int) maxVal استفاده می شود:
int maxVal = MaxValue(myArray);
سپس، با استفاده از تابع WriteLine()، آن مقدار را در صفحه ی نمایش می نویسیم:
WriteLine($"The maximum value in myArray is {maxVal}");
- بازدید: 46
1. سعی کنید نظرات شما مرتبط با مقاله ی مورد نظر باشد، در غیر این صورت پاسخ داده نخواهد شد.
2. سوالات خود را به صورت کوتاه بیان کنید و از پرسیدن چند سوال به طور همزمان خودداری کنید.
3. سوال خود را به طور واضح بیان کنید و از کلمات مبهم استفاده نکنید.