C:\>kamran one two three
kamran.cs
class zzz
{
public static void Main(string[] a)
{
int i;
for ( i=0; i< a.Length; i++)
System.Console.WriteLine(a[i]);
}
}
Output
one
two
three
one, two, three are called command line parameters. The program accepts them in an array of strings. As the array is a parameter to the function, we are free to decide on its name. Every array has a member called Length, which tells us the size of the array. In our case, it is three. Thus, a[0] will contain the first word one and not the name of the program, a[1] will contain two and a[3] - three. Main now behaves like any other function. What we do next with the command line arguments depends entirely upon us.
kamran.cs
class zzz
{
public static void Main(string[] a)
{
}
public static int Main()
{
}
}
Compiler Error
kamran.cs(3,20): error CS0017: Program 'kamran.exe' has
more than one entry point defined: 'zzz.Main(string[])'
kamran.cs(6,19): error CS0017: Program 'kamran.exe' has more than one entry point
defined: 'zzz.Main()'
You can have one and only one function called Main in any C# program. Even though you can call it with different parameters, with the name changing, Main as a function must be given only once.
Comments