کانال بله, جهت پشتیبانی و اطلاع رسانی کانال بله, جهت پشتیبانی و اطلاع رسانی
عضویت

متد در سی شارپ (C# method)


وقتی وارد دنیای برنامه‌نویسی با C# می‌شی، خیلی زود با مفاهیمی مثل کلاس، شیء و متد سروکار پیدا می‌کنی. متدها یکی از بخش‌های مهم برنامه‌نویسی شیءگرا هستن و به ما کمک می‌کنن رفتارها و عملیات مختلف یک کلاس رو به شکل منظم و قابل استفاده تعریف کنیم.

توی این مقاله قدم‌به‌قدم با مبانی متدها در C# آشنا می‌شیم؛ از ساختن و فراخوانی متد گرفته تا مقدار بازگشتی، آرگومان‌ها و روش‌های مختلف ارسال آرگومان به متد. اگه در حال یادگیری C# هستی، این مفاهیم بخش مهمی از مسیر برنامه‌نویسی با این زبان رو تشکیل می‌دن.

هر کلاس رو می‌شه از دو بخش اصلی در نظر گرفت. بخش اول مربوط به صفات و ویژگی‌های شیء هست که با متغیرهای تعریف‌شده در کلاس مشخص می‌شن. بخش دوم هم رفتارها و عملیاتیه که اون کلاس می‌تونه انجام بده و توسط توابع داخل کلاس تعریف می‌شن. به این توابع داخل کلاس، متد می‌گیم.

فیلدها در واقع برای توصیف یک کلاس استفاده می‌شن. برای مثال، کلاسی به نام House رو در نظر بگیر. تعداد اتاق‌های خواب (bedrooms)، نوع ملک (property type) و ارزش ملک (value) از جمله ویژگی‌هایی هستن که می‌تونن این کلاس رو توصیف کنن.

public class House
{
public char propertyType;
public uint bedrooms;
}

علاوه بر ویژگی‌ها، یک شیء می‌تونه عملیات مشخصی هم انجام بده. عملیاتی که یک کلاس در اختیار ما قرار می‌ده، function یا method نامیده می‌شه. در واقع متد بخشی از کده که برای انجام یکی از وظایف و قابلیت‌های کلاس نوشته می‌شه.

آموزش سی شارپ - آموزش متدها در سی شارپمبانی متدها

  1. ابتدا Microsoft Visual Studio را باز کنید.
  2. برای ایجاد یک برنامه‌ی کاربردی جدید، از main menu گزینه‌های File -> New Project را انتخاب کنید.
  3. از لیست میانی، گزینه‌ی Empty Project را انتخاب کنید.
  4. نام پروژه را به DepartmentStore2 تغییر دهید و روی OK کلیک کنید.
  5. از main menu گزینه‌های Project -> Add New Item... را انتخاب کنید.
  6. در لیست میانی پنجره‌ی Add New Item، گزینه‌ی Code File را انتخاب کنید.
  7. نام فایل را StoreItem بگذارید و روی Add کلیک کنید.
  8. در فایل بازشده، دستورات زیر را وارد کنید.
class StoreItem
{
public long itemNumber;
public string itemName;
public string size;
public decimal unitPrice;
}
  1. برای ایجاد code file، در Solution Explorer روی DepartmentStore2 -> Add -> New Item... راست کلیک کنید.
  2. در لیست میانی پنجره‌ی Add New Item، گزینه‌ی Code File را انتخاب کنید.
  3. نام فایل را DepartmentStore قرار دهید و روی Add کلیک کنید.
  4. در فایل خالی که در اختیارتان قرار می‌گیرد، دستورات زیر را وارد کنید.
class Exercise
{
void ShowEmployee(long employeeNumber, string fullName, char gender, double hourlySalary)
{
System.Console.Write("Employee #:    ");
System.Console.WriteLine(employeeNumber);
System.Console.Write("Full Name:     ");
System.Console.WriteLine(fullName);
System.Console.Write("Gender:        ");
System.Console.WriteLine(gender);
System.Console.Write("Hourly Salary: ");
System.Console.WriteLine(hourlySalary);
}
}
  1. برای دیدن نتیجه، برنامه را اجرا کنید.
  2. پنجره‌ی DOS را ببندید و به محیط برنامه‌نویسی برگردید.

آموزش سی شارپ - آموزش متدها در سی شارپساختن متد

برای ساختن یک متد، اول باید اسم آن را مشخص کنیم. انتخاب اسم متد هم از همان قوانینی پیروی می‌کند که برای نام‌گذاری متغیرها گفتیم. در این بخش می‌توانیم همان نکاتی را که برای انتخاب اسم کلاس‌ها یاد گرفتیم، برای متدها هم به کار ببریم.

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

اگر اسم متد چند کلمه داشته باشد، حرف اول تمام کلمات با حرف بزرگ نوشته می‌شود.

از آنجا که متد نشان‌دهنده‌ی یک عملیات است، معمولاً بهتر است اسم آن به شکل یک فعل انتخاب شود و بعد از اسم متد هم پرانتز قرار می‌گیرد.

یکی از کارهایی که متد می‌تواند انجام دهد، تولید یا اختصاص دادن یک مقدار مشخص در برنامه است. در چنین حالتی متد می‌تواند یک مقدار را در اختیار بخش‌های دیگر برنامه قرار دهد؛ در نتیجه، متد یک مقدار را برمی‌گرداند. اگر متد هیچ مقداری برنگرداند، نوع آن void خواهد بود. نوع مقداری که متد برمی‌گرداند در سمت چپ اسم متد قرار می‌گیرد و اگر قرار نباشد مقداری برگردانده شود، در این قسمت void نوشته می‌شود. کدی که متد اجرا می‌کند هم داخل `{}` قرار می‌گیرد.

آموزش سی شارپ - آموزش متدها در سی شارپ مثال:

public class House
{
public char propertyType;
public uint bedrooms;
void Display()
{
}
}

یکی از پرکاربردترین متدهای زبان برنامه‌نویسی C#، متد Main نام دارد.

توجه: از این بخش به بعد، برای اشاره به متدی که متعلق به یک کلاس است از عبارت ClassName.MethodName استفاده می‌کنیم.

آموزش سی شارپ - آموزش متدها در سی شارپ سطح دسترسی متد

سطح دسترسی متدها هم درست مانند متغیرهای عضو کلاس قابل تنظیم است.

اگر قرار باشد یک متد فقط از داخل همان کلاس قابل دسترسی باشد، می‌توانید آن را با کلیدواژه‌ی private مشخص کنید. البته می‌توان هیچ access modifier خاصی هم برای آن تعریف نکرد.

اگر می‌خواهید متد برای تمام اعضای کلاس و سایر بخش‌های همین برنامه قابل دسترسی باشد، می‌توانید آن را با کلیدواژه‌ی internal تعریف کنید.

اگر قرار است متد علاوه بر اعضای کلاس و بخش‌های همین برنامه، از برنامه‌های دیگر هم قابل دسترسی باشد، کافی است آن را با کلیدواژه‌ی public تعریف کنید.

بعد از ایجاد متد، می‌توانیم کارکرد آن را داخل بدنه‌ی متد و بین علامت‌های `{}` تعریف کنیم. برای مثال، می‌توانیم متغیرهای عضو کلاس را داخل System.Console.Write() یا System.Console.WriteLine() استفاده کنیم. مثال زیر را ببینید.

public class House
{
public char propertyType;
public uint bedrooms;
internal void Display()
{
System.Console.WriteLine("=//= Altair Realtors =//=");
System.Console.WriteLine("Properties Inventory"); ;
System.Console.Write("Property Type:  ");
System.Console.WriteLine(PropertyType);
System.Console.Write("Bedrooms:       ");
System.Console.WriteLine(Bedrooms);
}
}

به همین شکل می‌توانید هر تعداد متدی که برای کلاس لازم دارید ایجاد کنید.

آموزش سی شارپ - آموزش متدها در سی شارپ فراخوانی متد

بعد از ساختن متد، می‌توانیم از داخل یا خارج کلاس به آن دسترسی داشته باشیم. در واقع فراخوانی متد یعنی استفاده از آن و اجرای کدی که داخل متد نوشته شده است. برای این کار از عملگر نقطه استفاده می‌کنیم. برخلاف فیلدها، هنگام فراخوانی متد باید بعد از اسم آن پرانتز قرار بگیرد. مثال زیر را ببینید.

public class House
{
public char propertyType;
public uint bedrooms;
internal void Display()
{
System.Console.WriteLine("=//= Altair Realtors =//=");
System.Console.WriteLine("Properties Inventory"); ;
System.Console.Write("Property Type:  ");
System.Console.WriteLine(propertyType);
System.Console.Write("Bedrooms:       ");
System.Console.WriteLine(bedrooms);
}
}
public class Program
{
static void Main()
{
var property = new House();
property.propertyType = 'S';
property.bedrooms = 4;

property.Display();
}
}

نتیجه‌ی زیر به دست می‌آید.

=//= Altair Realtors =//=
Properties Inventory
Property Type:  S
Bedrooms:       4
Press any key to continue...

آموزش سی شارپ - آموزش متدها در سی شارپ نحوه‌ی ایجاد متدهای یک کلاس

  1. از main menu گزینه‌های Window -> StoreItem.cs را انتخاب کنید تا فایل موردنظر باز شود.
  2. برای اضافه کردن متد به کلاس، فایل را به شکل زیر تغییر دهید.
public class StoreItem
{
public long itemNumber;
public string itemName;
public string size;
public decimal unitPrice;

public void CreateItem()
{
itemNumber = 792475;
itemName = "Aramis Gentlemen Collection 3.4oz JHL Custom Blended Cologne Spray";
size = "3.4oz";
unitPrice = 48.00m;
}
public void Describe()
{
System.Console.WriteLine("Department Store");
System.Console.Write("Item #:     ");
System.Console.WriteLine(itemNumber);
System.Console.Write("Item Name:  ");
System.Console.WriteLine(itemName);
System.Console.Write("Item Size:  ");
System.Console.WriteLine(size);
System.Console.Write("Unit Price: ");
System.Console.WriteLine(unitPrice);
}
}
  1. main menu را باز کنید و روی گزینه‌های Window -> DepartmentStore.cs کلیک کنید.
  2. فایل موردنظر را به شکل زیر تغییر دهید.
public class DepartmentStore
{
public long itemNumber;
public string itemName;
public string size;
public decimal unitPrice;
}
  1. حالا برنامه را اجرا کنید. نتیجه‌ی زیر نمایش داده می‌شود.
Department Store
Item #:     792475
Item Name:  Aramis Gentlemen Collection 3.4oz JHL Custom Blended Cologne Spray
Item Size:  3.4oz
Unit Price: 48.00

6. پنجره‌ی DOS را ببندید و به محیط برنامه‌نویسی برگردید.

آموزش سی شارپ - آموزش متدها در سی شارپ متدی که مقدار باز می‌گرداند

وقتی یک متد مقداری تولید می‌کند، باید بتواند نتیجه‌ی آن را در اختیار بخش‌های دیگر برنامه قرار دهد. در این حالت دیگر نمی‌توان نوع متد را void در نظر گرفت و متد باید یک مقدار برگرداند. برای تعریف چنین متدی، نوع بازگشتی (return type) را در سمت چپ اسم متد قرار می‌دهیم.

آموزش سی شارپ - آموزش متدها در سی شارپ مثال:

class Exercise
{
double Operate()
{
}
}

همچنین می‌توانیم با اضافه کردن علامت سؤال به نوع داده، مشخص کنیم که متد می‌تواند مقدار null را هم داشته باشد. مثال زیر را در نظر بگیرید.

class Exercise
{
double? Operate()
{
}
}

داخل بدنه‌ی متد می‌توانیم چند متغیر تعریف کنیم که فقط خود همان متد از آن‌ها استفاده کند. به این متغیرها، متغیر محلی گفته می‌شود. یک متغیر محلی فقط از داخل همان متد قابل دسترسی است و نمی‌توان خارج از آن به این متغیر دسترسی داشت. بعد از تعریف متغیر محلی، می‌توانیم هر کاری که لازم است با آن انجام دهیم؛ برای مثال، قبل از استفاده مقدار مشخصی به آن اختصاص دهیم.

وقتی متد کار خودش را انجام داد، باید نتیجه‌ی موردنظر را برگرداند. برای این کار ابتدا کلیدواژه‌ی return را می‌نویسیم و بعد مقداری را که قرار است متد برگرداند قرار می‌دهیم. مقدار برگشتی باید با نوع بازگشتی متد هماهنگ باشد. مثال زیر را ببینید.

class Exercise
{
double Operate()
{
return 24.55 ;
}
}

این حالت هم صحیح است.

class Exercise
{
double Operate()
{
return 24.55 ;
}
}

متد می‌تواند به‌جای یک مقدار ساده، یک عبارت (expression) را هم برگرداند؛ البته به شرطی که نتیجه‌ی آن عبارت با نوع بازگشتی متد سازگار باشد. مثال زیر را ببینید.

class Exercise
{
double? Operate()
{
return 24.55 * 4.16 ;
}
}

آموزش سی شارپ - آموزش متدها در سی شارپ بازگرداندن یک مقدار از متد

  1. در فهرست گزینه‌ی اصلی روی Window -> StoreItem.cs کلیک کنید.
  2. فایل را به شکل زیر تغییر دهید.
public class StoreItem
{
public long itemNumber;
public string itemName;
public string size;
public decimal unitPrice;   

public void CreateItem()
{
itemNumber = 792475;
itemName = "Aramis Gentlemen Collection 3.4oz JHL Custom Blended Cologne Spray";
size = "3.4oz";
unitPrice = 48.00m;
}
public decimal CalculateTotalValue()
{
return unitPrice;
}

public void Describe()
{
System.Console.WriteLine("Department Store");
System.Console.Write("Item #:      ");
System.Console.WriteLine(itemNumber);
System.Console.Write("Item Name:   ");
System.Console.WriteLine(itemName);
System.Console.Write("Item Size:   ");
System.Console.WriteLine(size);
System.Console.Write("Unit Price:  ");
System.Console.WriteLine(unitPrice);
System.Console.Write("Total Value: ");
System.Console.WriteLine(CalculateTotalValue());
}
}
  1. برنامه را اجرا کنید تا نتیجه‌ی عملیات را ببینید.
  2. پنجره‌ی DOS را ببندید و به محیط برنامه‌نویسی برگردید.

آموزش سی شارپ - آموزش متدها در سی شارپ مقدمه‌ای بر تابع Main() یک برنامه‌ی کاربردی

تا اینجا با تابع Main() که هنگام ایجاد یک برنامه‌ی کاربردی جدید، از طریق پنجره‌ی New Project و به‌صورت پیش‌فرض ایجاد می‌شود، کار کردیم. در این حالت، تابع Main() به‌صورت پیش‌فرض از نوع void است. یک روش دیگر برای پیاده‌سازی تابع Main() این است که نوع آن را integer در نظر بگیریم. این قانون برای تمام متدهای نوع int هم برقرار است. تابع Main() می‌تواند هر مقدار integer معتبری را برگرداند.

آموزش سی شارپ - آموزش متدها در سی شارپ مثال:

class Exercise
{
char HaveCharacter()
{
return 'G';
}
static int Main()
{
Exercise exo = new Exercise();
System.Console.Write("Character: ");
System.Console.WriteLine(exo.HaveCharacter());
return 244006;
}
}

نتیجه‌ی زیر به دست می‌آید.

Character: G
Press any key to continue...

آموزش سی شارپ - آموزش متدها در سی شارپ مبانی متدها (قسمت دوم)

برای ایجاد تابع Main با استفاده از skeleton code، روی بخشی که می‌خواهید تابع موردنظر در آن اضافه شود راست‌کلیک کنید و گزینه‌ی Insert Snippet... را انتخاب کنید. بعد روی گزینه‌ی Visual C# دوبار کلیک کنید.

اگر می‌خواهید یک تابع Main ایجاد کنید که مقداری برنمی‌گرداند، روی svm دوبار کلیک کنید. این عبارت مخفف "static void Main" است.

آموزش متدها در سی شارپ

برای ایجاد تابع Main که یک مقدار integer برمی‌گرداند، روی sim دوبار کلیک کنید. sim مخفف "static int Main" است.

آموزش سی شارپ - آموزش متدها در سی شارپ بازگرداندن مقداری از تابع Main()

  1. روی دکمه‌ی DepartmentStore.cs کلیک کنید تا به فایل دسترسی پیدا کنید، سپس آن را به شکل زیر تغییر دهید.
public class DepartmentStore
{
static int Main()
{
StoreItem si = new StoreItem();
si.CreateItem();
si.Describe();
System.Console.ReadKey();
return 0;
}
}
  1. برنامه را اجرا کنید تا نتیجه‌ی آن را ببینید.
  2. پنجره‌ی DOS را ببندید و به محیط برنامه‌نویسی برگردید.

آموزش سی شارپ - آموزش متدها در سی شارپ مبانی آرگومان‌های متد در سی شارپ: بررسی اجمالی

یک متد وظیفه‌ای را انجام می‌دهد که بخشی از عملیات یک کلاس است. متدهایی که در بخش‌های قبلی دیدیم، برای تبادل اطلاعات بین بخش‌های مختلف برنامه از متغیرهای محلی استفاده می‌کردند. اما گاهی اوقات یک متد برای انجام وظیفه‌ی خودش به چند مقدار مختلف نیاز دارد. در چنین شرایطی، متدی که متد موردنظر را فراخوانی می‌کند باید این مقادیر را در اختیار آن قرار دهد. به مقداری که یک متد برای انجام وظیفه‌ی خودش نیاز دارد، آرگومان گفته می‌شود.

درست مثل متغیرها، آرگومان هم با توجه به نوع مقداری که قرار است دریافت کند تعریف می‌شود. برای مثال، ممکن است یک متد به یک کاراکتر نیاز داشته باشد، در حالی که متدی دیگر به یک رشته یا حتی یک عدد اعشاری (decimal number) نیاز داشته باشد. در واقع متد یا کلاسی که متد دیگری را فراخوانی می‌کند، وظیفه دارد مقدار مناسب را در اختیار آن قرار دهد؛ البته خود متد هم می‌تواند مکانیزم داخلی برای اعتبارسنجی این مقدار داشته باشد.

مقداری که قرار است به متد داده شود، هنگام فراخوانی داخل پرانتزهای متد قرار می‌گیرد. از طرف دیگر، خود متد باید مشخص کند چه نوع مقداری را دریافت می‌کند. به همین دلیل، آرگومان با یک نوع داده و یک اسم مشخص می‌شود.

فرض کنید می‌خواهیم متدی ایجاد کنیم که یک کاراکتر را نمایش دهد. این متد می‌تواند به شکل زیر تعریف شود.

class Exercise
{
void ShowCharacter(char c)
{
}
}

اگر نوع داده‌ی آرگومان از نوع‌های اولیه باشد و بخواهیم مشخص کنیم که می‌تواند مقدار null داشته باشد، علامت سؤال را به نوع داده اضافه می‌کنیم. نمونه‌ی آن را در زیر می‌بینید.

class Exercise
{
void ShowCharacter(char? c)
{
}
}

می‌توانیم مقدار آرگومان را داخل بدنه‌ی متد استفاده کنیم؛ البته اجباری نیست که حتماً از آن استفاده کنیم. در مثال زیر مقدار آرگومان در بدنه‌ی متد نمایش داده می‌شود.

class Exercise
{
void ShowCharacter(char c)
{
System.Console.WriteLine(c);
}
}

نمونه‌ی زیر هم معتبر است.

class Exercise
{
void ShowCharacter(char? c)
{
System.Console.WriteLine(c);
}
}    

به همین روش می‌توانیم مقدار دریافت‌شده را به شکل دلخواه خودمان تنظیم و استفاده کنیم.

آموزش سی شارپ - آموزش متدها در سی شارپ فراخوانی متدی که آرگومان می‌گیرد

برای استفاده از یک متد، اول باید آن را فراخوانی کنیم. اگر متدی آرگومان دریافت کند، هنگام فراخوانی باید مقدار موردنیاز آن آرگومان را در اختیارش قرار دهیم؛ در غیر این صورت با خطا (error) مواجه می‌شویم. همچنین باید مقدار مناسبی به آرگومان بدهیم، چون در غیر این صورت ممکن است متد نتیجه‌ی درست و قابل اعتمادی تولید نکند.

اگر متد هنگام فراخوانی آرگومان دریافت کند، می‌توانیم مقدار موردنظر را داخل پرانتز آن قرار دهیم.

آموزش سی شارپ - آموزش متدها در سی شارپ مثال:

class Exercise
{
void ShowCharacter(char c)
{
System.Console.WriteLine(c);
}
static int Main()
{
Exercise exo = new Exercise();         
System.Console.Write("Character: ");
exo.ShowCharacter('W');
return 0;
}
}

متدی که آرگومان دریافت می‌کند، می‌تواند متغیرهای محلی خودش را هم تعریف کند.

آموزش سی شارپ - آموزش متدها در سی شارپ ارسال آرگومان‌ها

  1. روی دکمه‌ی StoreItem.cs کلیک کنید تا فایل باز شود، سپس آن را به شکل زیر تغییر دهید.
public class StoreItem
{
public long itemNumber;
public string itemName;
public string size;
public decimal unitPrice;
public void CreateItem()
{
itemNumber = 911792;
itemName = "Girls Tillie Poplin Dress";
size = "12";
unitPrice = 110.00m;
}
public decimal CalculateTotalValue(int qty)
{
return unitPrice * qty;
}
public void Describe()
{
int quantity = 6;
System.Console.WriteLine("Department Store");
System.Console.Write("Item #:      ");
System.Console.WriteLine(itemNumber);
System.Console.Write("Item Name:   ");
System.Console.WriteLine(itemName);
System.Console.Write("Item Size:   ");
System.Console.WriteLine(size);
System.Console.Write("Unit Price:  ");
System.Console.WriteLine(unitPrice);
System.Console.Write("Quantity:    ");
System.Console.WriteLine(quantity);
System.Console.Write("Total Value: ");
System.Console.WriteLine(CalculateTotalValue(quantity));
}
}
  1. حالا برنامه را اجرا کنید. نتیجه‌ی زیر نمایش داده می‌شود.
  2. پنجره‌ی DOS را ببندید و به محیط برنامه‌نویسی برگردید.

آموزش سی شارپ - آموزش متدها در سی شارپ ارسال چندین آرگومان به یک متد

یک متد می‌تواند چند آرگومان مختلف داشته باشد. برای هر آرگومان باید یک اسم و یک نوع داده مشخص کنیم. آرگومان‌ها هم با ویرگول (،) از یکدیگر جدا می‌شوند. مثال زیر را ببینید.

class Exercise
{
void ShowEmployee(long employeeNumber, string fullName,char gender, double hourlySalary)
{
}
}

در صورت نیاز، می‌توانیم به آرگومان‌هایی که از نوع‌های اولیه‌ی داده هستند علامت سؤال اضافه کنیم.

آموزش سی شارپ - آموزش متدها در سی شارپ توجه:

از این بخش به بعد، برای اشاره به متدی که متعلق به یک کلاس است از قرارداد زیر استفاده می‌کنیم.

className.MethodName(Arguments)

توجه داشته باشید که آیتم داخل پرانتز به آرگومانی اشاره دارد که متد دریافت می‌کند.

آموزش سی شارپ - آموزش متدها در سی شارپ توجه:

از این بخش به بعد، عبارت «دستور نحوی این متد هست» را به کار می‌بریم.

ReturnValue ClassName.MethodName(Arguments);

با این قرارداد، نوع بازگشتی (return type)، اسم متد و تعداد آرگومان‌های آن را مشخص می‌کنیم.

در این قرارداد، دستور نحوی را با نقطه‌ویرگول (;) تمام می‌کنیم. برخلاف زبان‌های C، C++، Object Pascal و Visual Basic، زبان برنامه‌نویسی C# و Java این امکان را نمی‌دهند که ابتدا تابعی را تعریف کنیم و بعد آن را در بخش دیگری از فایل یا در یک فایل جداگانه پیاده‌سازی کنیم. در اینجا از نقطه‌ویرگول برای نمایش ساختار یک متد استفاده می‌کنیم، نه برای خود تعریف متد.

هنگام تعریف متغیر می‌توانید هیچ‌کدام، یکی یا حتی همه‌ی آرگومان‌ها را به هر شکلی که لازم دارید استفاده کنید. برای مثال، می‌توانید مقدار آن‌ها را در کنسول نمایش دهید. مثال زیر را ببینید.

class Exercise
{
void ShowEmployee(long employeeNumber, string fullName, 
char gender, double hourlySalary)
{
System.Console.Write("Employee #:    ");
System.Console.WriteLine(employeeNumber);
System.Console.Write("Full Name:     ");
System.Console.WriteLine(fullName);
System.Console.Write("Gender:        ");
System.Console.WriteLine(gender);
System.Console.Write("Hourly Salary: ");
System.Console.WriteLine(hourlySalary);
}
}

برای فراخوانی متدی که آرگومان دریافت می‌کند، روش‌های مختلفی وجود دارد. همان‌طور که دیدیم، هنگام فراخوانی یک متد می‌توانیم مقدار آرگومان را داخل پرانتز آن قرار دهیم. برای متدی که چند آرگومان دارد هم کافی است مقدار مربوط به هر آرگومان را در جای مناسب خودش قرار دهیم. مثال زیر را ببینید.

class Exercise
{
void ShowEmployee(long employeeNumber, string fullName,char gender, double hourlySalary)
{
System.Console.WriteLine("Employee Record");
System.Console.WriteLine("-----------------------------");
System.Console.Write("Employee #:    ");
System.Console.WriteLine(employeeNumber);
System.Console.Write("Full Name:     ");
System.Console.WriteLine(fullName);
System.Console.Write("Gender:        ");
System.Console.WriteLine(gender);
System.Console.Write("Hourly Salary: ");
System.Console.WriteLine(hourlySalary);
}
}
static int Main()
{
Exercise exo = new Exercise();
exo.ShowEmployee(572948, "Andrew Bridges", 'M', 22.85D);
return 0;
}

نتیجه‌ی زیر به دست می‌آید.

Employee Record
-----------------------------
Employee #:    572948
Full Name:     Andrew Bridges
Gender:        M
Hourly Salary: 22.85
Press any key to continue . . .

آموزش سی شارپ - آموزش متدها در سی شارپ فراخوانی آرگومان با استفاده از اسم

اگر متدی چند آرگومان داشته باشد، لازم نیست حتماً مقدار هر آرگومان را دقیقاً بر اساس ترتیب تعریف‌شده وارد کنیم. می‌توانیم با استفاده از اسم هر آرگومان، مستقیماً مشخص کنیم چه مقداری باید به آن داده شود. برای این کار، داخل پرانتز متد ابتدا اسم آرگومان را می‌نویسیم، بعد علامت (:) و سپس مقدار موردنظر را قرار می‌دهیم.

اگر با Microsoft Visual Studio کار کنید، بعد از وارد کردن اسم متد و علامت "(", معمولاً می‌توانید فهرستی از اسم آرگومان‌های آن را مشاهده کنید.

آموزش سی شارپ

بعد می‌توانید اسم آرگومان را تایپ کنید. حتی لازم نیست حتماً آن را دستی وارد کنید؛ می‌توانید کلیدهای Ctrl + Space را فشار دهید تا فهرستی نمایش داده شود که اسم آرگومان‌ها در آن قرار دارد.

آموزش سی شارپ

حالا می‌توانید آرگومان موردنظر را از فهرست انتخاب کنید. همان‌طور که گفتیم، بعد از اسم آرگومان علامت ":" و سپس مقدار آن را وارد می‌کنیم. به همین ترتیب می‌توانیم برای هر آرگومان، اسم آن را مشخص کنیم، مقدار مناسب را به آن بدهیم و آرگومان‌ها را با ویرگول (،) از هم جدا کنیم.

آموزش سی شارپ - آموزش متدها در سی شارپ مثال:

class Exercise
{
void ShowEmployee(long employeeNumber, string fullName,char gender, double hourlySalary)
{
System.Console.WriteLine("Employee Record");
System.Console.WriteLine("-----------------------------");
System.Console.Write("Employee #:    ");
System.Console.WriteLine(employeeNumber);
System.Console.Write("Full Name:     ");
System.Console.WriteLine(fullName);
System.Console.Write("Gender:        ");
System.Console.WriteLine(gender);
System.Console.Write("Hourly Salary: ");
System.Console.WriteLine(hourlySalary);
}
static int Main()
{
Exercise exo = new Exercise();
exo.ShowEmployee(fullName: "Annette Greens", hourlySalary: 16.85, 
employeeNumber: 519427, gender: 'F');
return 0;
}
}

نتیجه:

Employee Record
-----------------------------
Employee #:    519427
Full Name:     Annette Greens
Gender:        F
Hourly Salary: 16.85
Press any key to continue...
آموزش سی شارپ - آموزش متدها در سی شارپ مسیر یادگیری:

اگر می‌خواهید مفاهیم C# را به‌صورت منظم و کاربردی یاد بگیرید و مباحثی مثل کلاس‌ها، متدها و دیگر مفاهیم این زبان را قدم‌به‌قدم دنبال کنید، می‌توانید مسیر یادگیری خودتان را با دوره آموزش C# ادامه دهید.

1405/06/15 40286 5281
رمز عبور : tahlildadeh.com یا www.tahlildadeh.com
نظرات شما

نظرات خود را ثبت کنید...