دسته بندی مقالات
- بیشتر -محصولات
- بیشتر -آخرین مقالات
- بیشتر --
تخریب کننده ها (destructors) در سی شارپ
1403/10/15 -
توابع مدیریت تاریخ و زمان در SQL Server
1403/10/15 -
کلمه کلیدی this در سی شارپ
1403/10/14 -
توابع MAX و MIN در پایگاه داده SQL
1403/10/14 -
توابع تجمعی در پایگاه داده SQL
1403/10/13
تابع یا Method در سی شارپ
تعریف تابع یا Method در سیشارپ (C#)
در زبان سیشارپ (C#)، تابع یا Method یک بلوک کد است که برای انجام یک عمل خاص تعریف میشود.
توابع میتوانند ورودیهایی به نام پارامترها دریافت کرده و خروجیای به نام مقدار برگشتی (Return Value) ارائه دهند.
این توابع معمولاً برای انجام یک عملیات مشخص یا محاسبات در برنامه استفاده میشوند و میتوانند در هر نقطهای از کد فراخوانی شوند.
توابع در سیشارپ به کمک نوع دادهای که برگشت میدهند، پارامترها و دستورات داخلیشان شناخته میشوند.
توابع میتوانند بسته به نیاز برنامه، خروجی نداشته باشند (void) یا مقدار خاصی را بازگردانند.
این ویژگی باعث میشود که کد قابل استفاده مجدد و منظمتر شود.
به عنوان مثال، یک تابع برای محاسبه جمع دو عدد میتواند مقادیر ورودی را گرفته و نتیجه را برگرداند.
همچنین توابع در سیشارپ میتوانند از دیگر توابع یا کلاسها فراخوانی شوند و کد را سادهتر و مقیاسپذیرتر کنند.
کاربرد متد در سی شارپ
متد در سیشارپ مجموعهای از دستورات است که با هم اجرا میشوند تا یک وظیفه خاص را انجام دهند. متدها برای موارد زیر به کار میروند:
-
کاهش تکرار کد.
-
تقسیمبندی پروژه به بخشهای کوچکتر و قابل مدیریتتر.
-
افزایش خوانایی و قابلیت نگهداری کد.
انواع متدها در سی شارپ
-
متدهای بازگشتی (Recursive Methods)
متدی که خود را فراخوانی میکند. -
متدهای بدون بازگشت (Void Methods)
متدی که مقداری باز نمیگرداند. -
متدهای پارامتری (Parameterized Methods)
متدی که ورودی میپذیرد. -
متدهای بازگشتی مقدار (Returning Methods)
متدی که مقداری باز میگرداند.
ساختار یک متد در سیشارپ
متدها در سیشارپ معمولاً با کلمه کلیدی void یا نوع داده بازگشتی (مانند int یا string) تعریف میشوند.
ساختار کلی یک متد به صورت زیر است:
<AccessModifier> <ReturnType> <MethodName>(<Parameters>)
{
// Method body
}
-
AccessModifier: میزان دسترسی متد را مشخص میکند (مانند public, private, protected).
-
ReturnType: نوع دادهای که متد باز میگرداند (یا void برای متدهایی که چیزی باز نمیگردانند).
-
MethodName: نام متد که باید توصیفی و معنادار باشد.
-
Parameters: متغیرهایی که به متد پاس داده میشوند.
-
Method body: بدنه متد که دستورات در آن نوشته میشوند.
مثال ساده:
یک متد که نام کاربر را چاپ میکند:
public void PrintName(string name)
{
Console.WriteLine($"Hello, {name}!");
}
🌟 آیا به دنبال یک فرصت عالی برای یادگیری برنامهنویسی هستید؟ 🚀
با دوره آموزشی سیشارپ ما، شما میتوانید مهارتهای خود را به سطح جدیدی ارتقا دهید! این دوره بهطور کامل طراحی شده تا به شما کمک کند تا از مبتدی تا پیشرفته در دنیای برنامهنویسی سیشارپ پیش بروید.
👨🏫 چرا دوره ما را انتخاب کنید؟
- محتوای جامع و عملی: با پروژههای واقعی و تمرینات عملی، یادگیری را به تجربهای جذاب تبدیل کنید.
- مدرس مجرب: از تجربه و دانش مدرس حرفهای بهرهمند شوید که شما را در هر مرحله از یادگیری راهنمایی میکنند.
- پشتیبانی ۲۴/۷: هر زمان که سوالی داشتید، ما در کنار شما خواهیم بود تا به شما کمک کنیم.
- دسترسی مادامالعمر: به محتوای دوره دسترسی دائمی داشته باشید و هر زمان که خواستید، میتوانید به آن مراجعه کنید.
💡 فرصت را از دست ندهید!
بایادگیری سیشارپ، میتوانید در دنیای فناوری اطلاعات به یک متخصص تبدیل شوید و در پروژههای جذاب و چالشبرانگیز شرکت کنید.
همین امروز به جمع یادگیرندگان ما بپیوندید و اولین قدم را به سوی آیندهای روشنتر بردارید!
شرکت در دوره آموزش برنامه نویسی سی شارپ
انواع دسترسی متدها در سی شارپ
سیشارپ از انواع مختلف دسترسی برای متدها پشتیبانی میکند.
-
Public
متد از هر کجا قابل دسترسی است. -
Private
متد فقط در همان کلاس قابل استفاده است. -
Protected
متد در همان کلاس و کلاسهای مشتق شده قابل دسترسی است. -
Internal
متد فقط در همان اسمبلی (Assembly) قابل دسترسی است. -
Protected Internal
ترکیبی از Protected و Internal.
پارامترها و آرگومانها در متدهای سی شارپ
پارامترها متغیرهایی هستند که هنگام تعریف متد مشخص میشوند و آرگومانها مقادیری هستند که هنگام فراخوانی متد ارسال میشوند.
انواع پارامترها:
-
پارامترهای مقدار (Value Parameters)
مقدار را به متد ارسال میکنند. -
پارامترهای مرجع (Reference Parameters)
آدرس متغیر را به متد ارسال میکنند (با استفاده از کلمه کلیدی ref). -
پارامترهای خروجی (Output Parameters)
مقداری را از متد خارج میکنند (با استفاده از کلمه کلیدی out).
مثال:
// مثال از پارامترهای مرجع
public void AddNumbers(ref int a, ref int b)
{
a += 5;
b += 10;
}
// فراخوانی متد
int x = 1, y = 2;
AddNumbers(ref x, ref y);
Console.WriteLine($"x: {x}, y: {y}");
// خروجی: x: 6, y: 12
متدهای بازگشتی در سی شارپ
متدی که به خودش فراخوانی میکند، متد بازگشتی نامیده میشود.
این نوع متدها معمولاً برای مسائل بازگشتی مانند محاسبه فاکتوریل یا پیمایش درختها استفاده میشوند.
مثال:
public int Factorial(int n)
{
if (n <= 1)
return 1;
return n * Factorial(n - 1);
}
متدهای Overloading
در سیشارپ میتوانید چند متد با یک نام اما پارامترهای متفاوت تعریف کنید. این قابلیت به متد Overloading معروف است.
مثال:
public void PrintMessage(string message)
{
Console.WriteLine(message);
}
public void PrintMessage(string message, int count)
{
for (int i = 0; i < count; i++)
{
Console.WriteLine(message);
}
}
کلمات کلیدی مرتبط با متدها
-
Static
متدی که به یک نمونه از کلاس نیاز ندارد و میتوان مستقیماً از آن استفاده کرد. -
Async
برای متدهای غیرهمزمان استفاده میشود. -
Virtual
متدی که میتواند توسط کلاسهای مشتق شده بازنویسی شود. -
Override
برای بازنویسی متدهای Virtual یا Abstract. -
Abstract
متدی که در کلاسهای مشتق شده باید پیادهسازی شود.
مثال:
public abstract class Animal
{
public abstract void MakeSound();
}
public class Dog : Animal
{
public override void MakeSound()
{
Console.WriteLine("Woof Woof");
}
}
متدهای Async و Await
این متدها برای عملیات غیرهمزمان (Asynchronous) استفاده میشوند و به بهبود عملکرد برنامه کمک میکنند.
مثال:
public async Task DownloadFileAsync(string url)
{
using HttpClient client = new HttpClient();
string data = await client.GetStringAsync(url);
Console.WriteLine(data);
}
متدها در سیشارپ ابزار قدرتمندی برای مدیریت و سازماندهی کد هستند.
با استفاده از مفاهیمی مانند پارامترها، بازگشت مقدار، Overloading، و قابلیتهای پیشرفتهای مانند Async، میتوان برنامههایی کارآمد، خوانا و قابل نگهداری ایجاد کرد.
استفاده درست از متدها نه تنها باعث افزایش کیفیت کد میشود، بلکه درک و توسعه آن را نیز سادهتر میکند.
مثال پروژه محور از تابع یا Method در سی شارپ
تعریف تابع در پروژه مدیریت پروژه:
در این پروژه، فرض کنید که میخواهیم تابعی برای افزودن یک پروژه جدید به سیستم ایجاد کنیم.
مثال:
public class Project
{
public string ProjectName { get; set; }
public DateTime StartDate { get; set; }
public DateTime EndDate { get; set; }
public string Status { get; set; }
}
public class ProjectManager
{
// تابع برای افزودن پروژه جدید
public void AddProject(string name, DateTime startDate, DateTime endDate, string status)
{
Project newProject = new Project()
{
ProjectName = name,
StartDate = startDate,
EndDate = endDate,
Status = status
};
// در اینجا کد ذخیره پروژه در پایگاه داده میآید
Console.WriteLine($"پروژه {name} با موفقیت اضافه شد.");
}
}
class Program
{
static void Main(string[] args)
{
ProjectManager manager = new ProjectManager();
manager.AddProject("پروژه جدید", DateTime.Now, DateTime.Now.AddMonths(3), "در حال انجام");
}
}
توضیح:
تابع AddProject برای افزودن یک پروژه جدید به سیستم استفاده میشود.
ورودیها: نام پروژه، تاریخ شروع، تاریخ پایان و وضعیت پروژه.
خروجی: این تابع خروجی ندارد، فقط یک پروژه جدید ایجاد کرده و پیام موفقیت را نمایش میدهد.
این تابع یک عمل خاص (اضافه کردن پروژه) را انجام میدهد و در پروژههای بزرگتر میتواند شامل تعاملات با پایگاه داده یا انجام محاسبات پیچیدهتر باشد.
دوره های مرتبط
آموزش برنامه نویسی سی شارپ
زبان شی گرایی حرفه ای سی شارپ یک زبان قدرتمند برای طراحی نرم افزار به شمار میرود.