The string[] args may contain any number of command line arguments which we want to pass to Main() method.
If we were executing the application through command prompt we could see how it would work.
For a method as shown
static int Main(string[] args)
{
for(int i = 0; i < args.Length; i++)
Console.WriteLine("Arg: {0}", args[i]);
Console.ReadLine();
return -1;
}

For example, you can pass a FileName and access it while the application starts running. Suppose if the application is a text editor we can open the text file like this.
The Main method can be declared with or without a string[] parameter that contains command-line arguments. When using Visual Studio to create Windows Forms applications, you can add the parameter manually or else use the Environment class to obtain the command-line arguments. Parameters are read as zero-indexed command-line arguments. Unlike C and C++, the name of the program is not treated as the first command-line argument.
For more details please refer here