Reader Level:

Access Command Line Arguments in C#

By Mahesh Chand on Mar 27, 2006
This article shows how to access command line arguments in C#.

Recently, one user asked me how to access command line arguments in a C# application. This how do I answers the same.

There are two common ways to read command line arguments in C#. First, you can override the Main method with an array of strings, which are command line arguments. For example, the following code loops through the command line arguments and print them on the console.

static void Main(string[] args)


    foreach(string arg in args)






I compile the above code and run the exe from the command line by passing following parameters:

The output generated by the application looks like following:

However, this is not only the way to read command line arguments. For example, what if you do not want to override the Main method? Or access the command line arguments from non-Main method of your application?

You can do so using the Environment class, which has a static method called GetCommandLineArgs, which returns an array of strings containing the arguments. The following code reads the command line arguments using Environment.GetCommandLineArgs method.

foreach (string arg in Environment.GetCommandLineArgs())




Download and run the attached code for more details.

Article Extensions
Contents added by eak naja on Jan 07, 2013
thank you
Mahesh Chand
Mahesh Chand

C# Corner founder, 10-times Microsoft MVP, technical author, and software architect. Mahesh authored his first book, A Programmer’s Guide to ADO.NET in C# with APress at the age of 25. C# Corner is a memb... Read more



JetBrains ReSharper Ultimate
.NET code analysis, refactorings, navigation, unit testing, code coverage and profiling in Visual Studio, a bonus for C++ devs, bundled at 50% off.

Trending up