0

我有一个简单的控制台应用程序,每天通过任务计划程序执行两次。当它像这样运行时,该Main()方法的默认输入将是当前月份和当前年份。

但是,有时这个任务需要在计划之外手动执行;在这种情况下,它应该分别提示用户输入年份和月份。

我知道如何在执行应用程序时发送参数,如下所示:

myapplication.exe 2013 1

我可以相应地检查参数和代码的数量。但我想提示用户输入月份和年份。我们应该怎么做?感谢您的帮助。

请为这篇文章建议一个更好的标题。

4

1 回答 1

3

您可以引入一个特殊的命令行参数,该参数仅在应用程序通过调度程序执行时使用。如果存在此参数,您将使用当前日期,否则,您将提示用户为您输入日期。

例如

    private static void Main(string[] args)
    {
        var yourFirstMagicNumber = -1;
        var yourSecondMagicNumber = -1;

        // Let's use the third argument as indicator that you need user input
        if (args.Length > 2 && "true".Equals(args[2]))
        {
            Console.WriteLine("enter magic nr 1: ");
            var firstArgument = Console.ReadLine();
            yourFirstMagicNumber = Int32.Parse(firstArgument);

            Console.WriteLine("enter magic nr 2: ");
            var secondArgument = Console.ReadLine();
            yourSecondMagicNumber = Int32.Parse(secondArgument);
        }
        else
        {
            yourFirstMagicNumber = Int32.Parse(args[0]);
            yourSecondMagicNumber = Int32.Parse(args[1]);
        }
    }
于 2013-02-01T18:51:32.173 回答