Is it functionally/ practically more efficient to create a CLI program that uses Console.Readline();, or args[i] for input? : <p>When creating a console based app, is it functionally more efficient/ practically more efficient to run off of command line start arguments than it is to use <code>Console.ReadLine();</code>? I have two options, open the program and have it listen to my commands via <code>ReadLine</code> in a console window, or I can use CMD like: <code>C:\MYPROGRAM argument</code> and have it take my commands this way. (think ping.exe for example)</p>

<p>I have used <code>string userCommand = Console.ReadLine();</code> along with <code>if</code> statements in order to control my program. I have also used <code>userCommand = args[x]</code> as a way to command my program from CMD.</p>

<p>Examples:</p>

<pre><code>string userCommand = Console.ReadLine();
if(userCommand == "help")
{
Console.WriteLine(help);
}
</code></pre>

<p>Or</p>

<pre><code>if(args[0] == "help")
{
Console.WriteLine(help);
}
</code></pre>

<p>Both of these methods are working for me, but I do not understand which of these is going to be more efficient in terms of speed/ performance. I also do not understand which one of these is practically a better solution. Is one of these superior to the other for any specific functional/ practical/ potential reason? Note: Google wasn't particularly helpful here.</p>
