Main 方法可以使用參數,在這種情況下它採用下列形式之一:
static int Main(string[] args)
static void Main(string[] args)
若要在 Windows 表單應用程式中的 Main 方法中啟用命令列參數,必須手動修改 program.cs 中 Main 的簽名。Windows 表單設計器產生的程式碼建立沒有輸入參數的 Main。也可以使用 Environment..::.CommandLine 或 Environment..::.GetCommandLineArgs 從控制台或 Windows 應用程式中的任何位置訪問命令列參數。
Main 方法的參數是表示命令列參數的 String 數組。一般是通過測試 Length 屬性來確定參數是否存在,例如
if (args.Length == 0)
{
System.Console.WriteLine("Please enter a numeric argument.");
return 1;
}
還可以使用 Convert 類或 Parse 方法將字串參數轉換為數實值型別。例如,下面的語句使用 Parse 方法將 string 轉換為 long 數字:
long num = Int64.Parse(args[0]);
也可以使用別名為 Int64 的 C# 類型 long:
long num = long.Parse(args[0]);
還可以使用 Convert 類的方法 ToInt64 完成同樣的工作:
long num = Convert.ToInt64(s);
樣本
public class Functions
{
public static long Factorial(int n)
{
// Test for invalid input
if ((n <= 0) || (n > 256))
{
return -1;
}
// Calculate the factorial iteratively rather than recursively:
long tempResult = 1;
for (int i = 1; i <= n; i++)
{
tempResult *= i;
}
return tempResult;
}
}
class MainClass
{
static int Main(string[] args)
{
// Test if input arguments were supplied:
if (args.Length == 0)
{
System.Console.WriteLine("Please enter a numeric argument.");
System.Console.WriteLine("Usage: Factorial <num>");
return 1;
}
// Try to convert the input arguments to numbers. This will throw
// an exception if the argument is not a number.
// num = int.Parse(args[0]);
int num;
bool test = int.TryParse(args[0], out num);
if(test == false)
{
System.Console.WriteLine("Please enter a numeric argument.");
System.Console.WriteLine("Usage: Factorial <num>");
return 1;
}
// Calculate factorial.
long result = Functions.Factorial(num);
// Print result.
if(result == -1)
System.Console.WriteLine("Input must be > 0 and < 256.");
else
System.Console.WriteLine("The Factorial of {0} is {1}.", num, result);
return 0;
}
}
// If 3 is entered on command line, the
// output reads: The factorial of 3 is 6.
如果需要使用CSC命令,添加路徑見:CSC命令路徑添加
在命令提示行下調試如:
C:\Users\EricHu>"D:\backup\我的文件\visual studio 2010\Projects\MulMethod01\MulMethod01\bin\Debug\MulMethod01.exe" 23