پردازش و تعیین پارامترهای خط فرمان


با ایجاد یک پروژه #C از نوع console متدی به اسم main خواهیم داشت که یک آرایه به اسم args از نوع رشته ای به عنوان پارامتر دارد . در این مقاله قصد داریم که مقادیری را به عنوان آرگومان به متد main بفرستیم و آنها را پردازش کنیم .
همانطور که می دانید در پروژه های از نوع console متد main اولین متدی است که اجرا می شود ، چگونه می توان یک آرایه به آن پاس داد ؟


تعیین پارامترهای خط فرمان :
در هنگام نوشتن یک برنامه یا نرم افزار ممکن است هر بار برای تست تابعی از برنامه بخواهید مقادیری را به صورت آزمایشی و بررسی برنامه به تابع پاس بدهید . ویژوال استدیو دارای امکانی می باشد که برنامه نویسان را قادر می سازد تا لیستی از داده های آزمایشی را تنظیم نموده و به توابع خود بفرستند . برای اینکار ابتدا پروژه ای از نوع Console Application ایجاد کرده و بر روی آیکن Properties در Solution Explorer دوبار کلیک کرده و بعد از باز شدن پنجره console app گزینه debug را از کادر سمت چپ انتخاب نمایید سپس می توانید مقادیر پارامترهای ورودی را از طریق جعبه متنی Command-Line arguments وارد کنید . برای جدا سازی پارامترهای از کلید Space استفاده نمایید .

Command-Line-Arguments


با وارد کردن پارامترها ، هنگام اجرای برنامه مقادیر تعیین شده به طور خودکار به متد main ارسال خواهند شد .


پردازش پارامترهای ورودی از خط فرمان :
حال بعد از تنظیم پارامترها برای ارسال به متد  main قصد داریم آرایه را جهت درک بهتر پردازش کنیم . برای پردازش و بررسی آرایه ورودی از متد main هم می توان از حلقه for و هم foreach استفاده کرد.

static void Main(string[] args)
        {
            foreach (string arg in args)
            {
                Console.WriteLine("arg : {0}",arg);
            }
        }

همچنین برای دسترسی به آرگومان های خط فرمان (Command-Line arguments) می توانید از متد استاتیک ()GetCommandLineArgs از کلاس Environment استفاده کنیم . مقدار برگشتی این متد یک آرایه رشته ای می باشد . اولین عنصر آرایه نام و آدرس برنامه می باشد و بقیه عناصر مقادیر آرگومان های تعیین شده می باشد .


* - در هنگام استفاده از متد ()GetCommandLineArgs  برای دسترسی به آرگومان های تعیین شده  نیاز به تعریف متد main به صورتی که پارامترهایی را دریافت کند نیست ، یعنی می توان متد main را بدون اینکه پارامتری دریافت کند نوشتن و از طرق متد ()GetCommandLineArgs به آرگومان های خط فرمان دسترسی داشت .

   static void Main()
        {
            string[] args=Environment.GetCommandLineArgs();
            foreach (string arg in args)
            {
                Console.WriteLine("arg : {0}",arg);
            }
        } 


توسط : عثمان رحیمی  2 ماه قبل ، سه شنبه 25 شهریور 1393 ساعت 08:36  0  1492

نظر شما برای ما مهم است و به ما در بهبود سایت کمک میکند.


ارسال نظر
  • نام (اختیاری ) :
  • پست الکترونیک :
  • توضیحات :

مطالب مرتبط