بررسی تابع ()Main در سی شارپ

Ratings
(0)

اکنون که اکثر تکنیک های ساده که در ایجاد و استفاده از تابع ها به کار رفته اند را به شما نشان دادیم، زمان آن رسیده است که نگاه دقیق تری به تابع Main() بیندازیم. قبلاً مشاهده کردید که تابع Main() نقطه ی ورود برای یک اپلیکیشن سی شارپ است و اجرای این تابع شامل اجرای اپلیکیشن مورد نظر می شود. یعنی وقتی که اجرا می شود، تابع Main() اجرا می شود و وقتی که تابع Main() پایان یافت، اجرای برنامه پایان می یابد. 


تابع Main() می تواند void یا int را برگرداند و می تواند به صورت اختیاری، شامل یک پارامتر string[] args باشد، بنابراین می توانید از هریک از نسخه های زیر استفاده کنید:

static void Main()
static void Main(string[] args)
static int Main()
static int Main(string[] args)

نسخه های شماره 3 و 4 یک مقدار int را برمی گردانند؛ که می توانیم از آن برای فهماندن نحوه خاتمه برنامه، استفاده کنیم، و اغلب از آن بعنوان یک دلالت به یک خطا استفاده می شود(اگرچه این به هیچ وجه اجباری نیست). به طور کلی، برگرداندن یک مقدار 0 ،نشان دهنده خاتمه طبیعی است(یعنی اپلیکیشن ما کامل شده است و می تواند به طور ایمن خاتمه یابد). 

پارامتر اختیاری args در تابع Main() راهی به ما ارائه می دهد که به وسیله ی آن می توانیم اطلاعاتی را از بیرون اپلیکیشن، در زمان اجرا، به دست بیاوریم. این اطلاعات به صورت پارامترهای خط فرمان(command-line) هستند. وقتی که یک اپلیکیشن کنسول اجرا می شود، همه ی پارامترهای خط فرمان(command-line) مشخص شده، در آرایه ی args قرار می گیرند. 

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


خودتان امتحان کنید: آرگومان های خط فرمان: Ch06Ex04\Program.cs

1. یک اپلیکیشن جدید کنسول به نام Ch06Ex04 در ویژوال استودیو ایجاد کنید و آن را در آدرس زیر ذخیره(save) کنید:

C:\BeginningCSharp7\Chapter06

 2. کد زیر را در فایل Program.cs اضافه کنید:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using static System.Console;

namespace Ch06Ex04
{
    class Program
    {
        static void Main(string[] args)
        {
            WriteLine($"{args.Length} command line arguments were specified:");
            foreach (string arg in args)
                WriteLine(arg);
            ReadKey();
        }
    }
}

3. صفحات property را برای پروژه باز کنید؛ برای انجام این کار، در پنجره ی Solution Explorer ،روی نام پروژه یعنی Ch06Ex04 راست-کلیک کنید و گزینه ی Properties را انتخاب کنید. 

4. صفحه ی Debug را انتخاب کنید و هر آرگومان خط فرمانی(command-line) که می خواهید را در تنظیم Command Line Arguments اضافه کنید. تصویر 6.9 یک مثال از این مورد را نشان می دهد:

(تصویر 6.9)

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

5. اپلیکیشن را اجرا کنید. تصویر 6.10 خروجی را نشان می دهد. 

(تصویر 6.10)

خروجی کد سی شارپ


این کدها چگونه کار می کنند؟

کد به کار رفته در اینجا، بسیار ساده است:

WriteLine($"{args.Length} command line arguments were specified:");
foreach (string arg in args)
   WriteLine(arg);

ما تنها داریم از پارامتر args مانند هر آرایه ی رشته ای دیگری، استفاده می کنیم. ما با آرگومان ها هیچ کار خیالی انجام نمی دهیم، ما تنها داریم آنچه که در صفحه ی نمایش مشخص شده است را می نویسیم. ما این آرگومان ها را از طریق Properties در پروژه ی خود در IDE عرضه کردیم.  

این یک راه مفید برای استفاده از همان آرگومان های خط فرمان، هنگامی که اپلیکیشن را از این IDE اجرا می کنیم، می باشد؛ به جای اینکه هربار در یک خط فرمانِ سریع، آنها را تایپ کنیم. با باز کردن یک پنجره ی خط فرمان در همان دایرکتوری که خروجی پروژه در آن قرار دارد(C:\ BeginningCSharp7\Chapter06\Ch06Ex04\Ch06Ex04\bin\Debug)، و تایپ کردن دستور زیر، می توانیم نتیجه ی یکسانی را به دست بیاوریم:

Ch06Ex04 256 myFile.txt "a longer argument"

هر آرگومان با استفاده از یک فاصله ی سفید(space) از آرگومان بعدی جدا شده است.  برای ارائه ی یک آرگومان که خودش حاوی چند فاصله ی سفید است، می توانیم آنها را در داخل علامت های نقل قول(کوتیشن) قرار دهیم. با انجام این کار، کلمات این آرگومان، به صورتِ چند آرگومان، تلقی نمی شوند. 

 

  • بازدید: 61

نوشتن دیدگاه

لطفا نظرات خود را بیان کنید. به سوالات در سریع ترین زمان پاسخ داده خواهد شد.اما به نکات زیر توجه کنید:
1. سعی کنید نظرات شما مرتبط با مقاله ی مورد نظر باشد، در غیر این صورت پاسخ داده نخواهد شد.
2. سوالات خود را به صورت کوتاه بیان کنید و از پرسیدن چند سوال به طور همزمان خودداری کنید.
3. سوال خود را به طور واضح بیان کنید و از کلمات مبهم استفاده نکنید.

ارسال