Console应用程序应该等待参数。

26 浏览
0 Comments

Console应用程序应该等待参数。

我有一个类似于这样的控制台应用程序:

static void Main(string[] args)

{

if(args.Length == 0)

{

//做一些操作

}

else if(args.Length % 2 == 0)

{

//做另外一些操作

}

}

现在,当我构建并启动我的.exe文件时,它只会打开一下来运行代码然后关闭。

有没有可能让.exe文件在启动后等待我输入参数?

我知道我可以打开cmd并写入文件的目录,然后写入参数(C:\Example\MyExe.exe -Parameter1)。但是这是唯一的方法吗?

0
0 Comments

问题出现的原因是在启动应用程序时,没有提供必要的参数。解决方法是在项目的设置中添加调试参数,并使用Console.Read();命令让应用程序等待用户按下键盘。

在Visual Studio中,可以通过右键单击项目并打开项目的设置来添加调试参数。在调试部分中,可以添加调试参数。

如果想要让应用程序等待用户按下键盘,可以使用Console.Read();命令。

关于命令行参数的更多信息,请参考Passing command line parameters with Visual Studio C#

问题中提到了命令行参数的问题,但是可能没有传递参数或者传递了最多10个参数。通过调试参数可能无法解决这个问题。

关于没有参数的问题,可以使用if(args.Length == 0)来判断是否有参数传递。

问题中还提到了另一个问题,即希望在应用程序启动时允许用户输入参数。可以参考mm8的答案,并在下一个问题中提供更具体的信息。

总之,在启动控制台应用程序时,应确保提供必要的参数,并在需要等待用户输入时使用Console.Read();命令。

0
0 Comments

Console应用程序应等待参数的原因是因为没有“阻塞”方法。可以在结尾处添加Console.Read();来等待按键的输入。

解决方法是在Main方法中添加代码,判断参数的长度,根据不同的情况执行不同的操作。最后添加Console.WriteLine("Press any key to exit the application."); Console.Read();来等待按键的输入。

在VS中可以通过右键点击项目 -> 属性 -> 调试 -> 命令行参数来传递参数。

0
0 Comments

问题:Console应用程序应该等待参数吗?

原因:默认情况下,Console应用程序不会等待参数的输入。参数应该在启动应用程序时传入。但是,可以通过使用`Console.ReadLine`来实现应用程序接受用户输入的功能。

解决方法:

static void Main(string[] args)
{
    if (args.Length == 0)
    {
        List arguments = new List();
        do
        {
            Console.WriteLine("Input argument and press : ");
            string argument = Console.ReadLine();
            if (string.IsNullOrEmpty(argument))
                break;
            arguments.Add(argument);
        } while (true);
        Console.WriteLine("continue...");
    }
    else if (args.Length % 2 == 0)
    {
        //do something else
    }
}

以上代码中,如果在启动应用程序时没有传入参数(`args.Length == 0`),则通过循环提示用户输入参数,并将参数添加到`arguments`列表中。如果用户输入为空,则退出循环。最后,输出"continue..."。

这样,Console应用程序将等待用户输入参数,并根据输入内容执行相应的操作。

0