C# Console模式下按照「命令列引數」計算該數字的階乘

C# Console模式下按照「命令列引數」計算該數字的階乘

C# Console模式下按照「命令列引數」計算該數字的階乘

由於經常利用c++製作Console模式下按照「命令列引數」的小程式,因此剛才好奇想知道c#要如何實現,因此到google爬聞得一下,發現這個實用的範例,貼出來和同好分享,歡迎有需要的同好來(c/p)一下。

//GOOGLE: c# main args
//命令列引數 (C# 程式設計手冊)
//下列範例將示範如何在主控台應用程式中使用命令列引數。程式會在執行階段使用一個引數、將該引數轉換成整數,並且計算該數字的階乘。如果沒有提供引數,這個程式會發出一個解釋該程式正確用法的訊息。
//http://msdn.microsoft.com/zh-tw/library/cb20e19t(v=vs.90).aspx
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.

發表迴響

你的電子郵件位址並不會被公開。 必要欄位標記為 *