دسته بندی مقالات
- بیشتر -محصولات
- بیشتر -آخرین مقالات
- بیشتر --
کنترل radioButton در سی شارپ
1404/07/07 -
System View در SQL Server
1404/07/07 -
کنترل richTextBox در سی شارپ
1404/07/06 -
کنترل propertyGrid در سی شارپ
1404/07/05 -
Graph Tables در Sql Server
1404/07/04 -
File Tables در Sql Server
1404/07/03
توابع در سی شارپ

آموزش توابع در سی شارپ
در زبان برنامهنویسی سی شارپ، تابعها به شما امکان میدهند تا کد خود را سازماندهی و قابلیت استفاده مجدد را افزایش دهید.
تابع ها واحدهایی از کد هستند که یک عمل یا محاسبه خاص را انجام میدهند.
در این آموزش، به نحوه تعریف و استفاده از متدها، مفهوم مقدار برگشتی، پارامترها و آرگومانها، نامگذاری آرگومانها و ارسال آرگومانها به روش ارجاع میپردازیم.
در زبان سی شارپ ، متدها معمولاً در کلاسها تعریف میشوند.
هر متد شامل یک سری دستورالعمل است که میتواند بر روی دادهها عمل کند و نتیجهای را به دست دهد.
ساختار کلی تعریف یک متد به شکل زیر است:
access_modifier return_type MethodName(parameter_list)
{
// دستورات متد
}
-
access_modifier: مشخص میکند که متد از کجا قابل دسترسی است (مانند public، private، protected).
-
return_type: نوع دادهای که متد بازمیگرداند.
-
MethodName: نام متد که باید توصیفکننده عملکرد آن باشد.
-
parameter_list: پارامترهایی که متد میتواند دریافت کند.
مثال ساده از تعریف تابع
public int Add(int a, int b)
{
return a + b;
}
در این مثال
متد Add دو عدد صحیح a و b را به عنوان ورودی دریافت میکند.
حاصل جمع این دو عدد را با استفاده از دستور return برمیگرداند.
مقدار برگشتی از یک متد
مقدار برگشتی متد در سی شارپ، نتیجهای است که متد پس از اجرای عملیات خود به کد فراخواننده برمیگرداند.
این مقدار میتواند نتیجه یک محاسبه، دادهای از پردازش، یا اطلاعاتی باشد که توسط متد تولید شده است.
هنگامی که متد به مقدار بازگشتی میرسد، اجرای آن متوقف میشود و مقدار مشخص شده به کد فراخوان بازمیگردد.پ
این رفتار باعث میشود بتوان از متدها برای انجام محاسبات، واکشی داده و دریافت نتایج به شکلی سازمانیافته و منظم استفاده کرد.
اگر متد نیازی به برگرداندن داده نداشته باشد، از نوع void استفاده میکند که نشاندهنده عدم وجود مقدار برگشتی است
انواع مقدار برگشتی از یک تابع در سی شارپ
-
مقدار عددی یا رشتهای
اگر متد شما یک مقدار خاص مانند عدد، رشته یا بولین برمیگرداند، نوع برگشتی را مطابق آن مشخص کنید. -
نوع void
اگر متد مقداری برنمیگرداند و تنها وظیفه انجام عملی را دارد، از void به عنوان نوع برگشتی استفاده کنید.
مثال از تابع با مقدار برگشتی
public int Multiply(int x, int y)
{
return x * y;
}
مثال از تابع بدون مقدار برگشتی
public void DisplayMessage()
{
Console.WriteLine("Hello, world!");
}
در متد DisplayMessage از void استفاده شده است و این متد هیچ مقداری برنمیگرداند.
پارامترها و آرگومانها در توابع
پارامترها و آرگومانها مفاهیم مرتبطی هستند که در متدها مورد استفاده قرار میگیرند.
-
پارامتر
متغیری است که هنگام تعریف متد به آن داده میشود و نوع آن را مشخص میکنیم. این متغیرها به متد کمک میکنند تا اطلاعات ورودی دریافت کند. -
آرگومان
مقدار واقعی است که هنگام فراخوانی متد به پارامترها ارسال میشود.
مثال از پارامترها و آرگومانها
در مثال زیر، متد Add دو پارامتر a و b دارد. وقتی این متد فراخوانی میشود، مقادیر 5 و 10 به عنوان آرگومان به آن ارسال میشوند.
public int Add(int a, int b)
{
return a + b;
}
public void Main()
{
int result = Add(5, 10); // 5 و 10 آرگومانهای متد هستند
Console.WriteLine(result);
}
نامگذاری آرگومانها (Named Arguments)
در #C، میتوانید از نامگذاری آرگومانها برای خوانایی بهتر کد استفاده کنید. با نامگذاری آرگومانها، مشخص میکنید که هر آرگومان به کدام پارامتر ارسال شود. این ویژگی به خصوص در متدهایی که پارامترهای زیادی دارند مفید است.
مثال از نامگذاری آرگومانها
public int CalculateArea(int length, int width)
{
return length * width;
}
public void Main()
{
int area = CalculateArea(length: 5, width: 10);
Console.WriteLine(area);
}
در اینجا، ما به جای آنکه مقادیر را به ترتیب ارسال کنیم، با استفاده از نام پارامتر، مقدار موردنظر را مستقیماً به پارامتر موردنظر ارسال میکنیم.
این روش به خوانایی کد کمک کرده و احتمال اشتباه را کاهش میدهد.
🌟 آیا به دنبال یک فرصت عالی برای یادگیری برنامهنویسی هستید؟ 🚀
با دوره آموزشی سیشارپ ما، شما میتوانید مهارتهای خود را به سطح جدیدی ارتقا دهید! این دوره بهطور کامل طراحی شده تا به شما کمک کند تا از مبتدی تا پیشرفته در دنیای برنامهنویسی سیشارپ پیش بروید.
👨🏫 چرا دوره ما را انتخاب کنید؟
- محتوای جامع و عملی: با پروژههای واقعی و تمرینات عملی، یادگیری را به تجربهای جذاب تبدیل کنید.
- مدرس مجرب: از تجربه و دانش مدرس حرفهای بهرهمند شوید که شما را در هر مرحله از یادگیری راهنمایی میکنند.
- پشتیبانی ۲۴/۷: هر زمان که سوالی داشتید، ما در کنار شما خواهیم بود تا به شما کمک کنیم.
- دسترسی مادامالعمر: به محتوای دوره دسترسی دائمی داشته باشید و هر زمان که خواستید، میتوانید به آن مراجعه کنید.
💡 فرصت را از دست ندهید!
بایادگیری سیشارپ، میتوانید در دنیای فناوری اطلاعات به یک متخصص تبدیل شوید و در پروژههای جذاب و چالشبرانگیز شرکت کنید.
همین امروز به جمع یادگیرندگان ما بپیوندید و اولین قدم را به سوی آیندهای روشنتر بردارید!
ارسال آرگومانها به تابع ها
در #C، متغیرها به دو روش میتوانند به متدها ارسال شوند: ارسال به روش مقدار (By Value) و ارسال به روش ارجاع (By Reference).
-
ارسال به روش مقدار
در این روش، کپیای از مقدار متغیر به متد ارسال میشود و تغییرات انجامشده در متد بر متغیر اصلی تأثیری نخواهد داشت. -
ارسال به روش ارجاع
در این روش، آدرس متغیر ارسال میشود، و هر تغییری که در مقدار آن صورت گیرد، بر متغیر اصلی نیز اعمال میشود.
برای ارسال آرگومانها به روش ارجاع در #C از کلمات کلیدی ref و out استفاده میکنیم.
مثال از هر دو روش ارسال ارگومان ها
-
استفاده از ref
با کلمه کلیدی ref، میتوانید متغیری را به متد بهصورت ارجاعی ارسال کنید.
برای این کار، متغیر اصلی باید قبل از فراخوانی متد مقداردهی اولیه شده باشد.
public void DoubleValue(ref int number)
{
number *= 2;
}
public void Main()
{
int value = 10;
DoubleValue(ref value);
Console.WriteLine(value); // خروجی: 20
}
در این مثال، value بهصورت ارجاعی به متد DoubleValue ارسال شده است، و در نتیجه تغییرات در داخل متد بر روی متغیر اصلی اعمال شدهاند.
-
استفاده از out
کلمه کلیدی out مشابه ref عمل میکند، اما نیازی به مقداردهی اولیه متغیر قبل از فراخوانی متد نیست.
این روش معمولاً زمانی استفاده میشود که متد مقداری را برمیگرداند و ما نیازی به مقدار اولیه نداریم.
public void GetData(out int number)
{
number = 25; // مقداردهی اجباری
}
public void Main()
{
int result;
GetData(out result);
Console.WriteLine(result); // خروجی: 25
}
مثال پروژه محور تابع در سی شارپ
فرض کنید یک برنامه محاسباتی دارید که عملیات مختلفی روی دادهها انجام میدهد.
میخواهید تابعی داشته باشید که مقدار کل فروش را بر اساس قیمت و تعداد کالا محاسبه کند و سپس در صورت لزوم، یک تخفیف نیز اعمال کند.
using System;
public class Program
{
// تابع محاسبه فروش
public decimal CalculateTotal(decimal price, int quantity, ref decimal discount)
{
decimal total = price * quantity;
// اعمال تخفیف در صورت وجود
if (discount > 0)
{
total -= discount;
}
return total;
}
// تابع گرفتن داده و نمایش خروجی
public void Main()
{
decimal price = 100m;
int quantity = 3;
decimal discount = 20m;
decimal total = CalculateTotal(price, quantity, ref discount);
Console.WriteLine($"Total Sale Amount: {total}");
}
}
در این مثال
از ref برای ارسال متغیر discount به صورت ارجاعی استفاده شده است.
تابع CalculateTotal مقدار کل فروش را محاسبه میکند و اگر تخفیفی وجود داشته باشد، آن را کم میکند.
دوره های مرتبط

آموزش برنامه نویسی سی شارپ
زبان شی گرایی حرفه ای سی شارپ یک زبان قدرتمند برای طراحی نرم افزار به شمار میرود.