【发布时间】:2020-03-10 23:58:51
【问题描述】:
我有一个在 Mac OS 上运行的名为 data-1 的 C# 程序
我在哪里运行我使用:
> dotnet data-1.dll
如何更改主要内容以便我可以输入类似的内容
> dotnet data-1.dll 10, 20
并将数字 10 和 20 传递到代码中?
static void Main(string[] args)
{
【问题讨论】:
标签: c#
我有一个在 Mac OS 上运行的名为 data-1 的 C# 程序
我在哪里运行我使用:
> dotnet data-1.dll
如何更改主要内容以便我可以输入类似的内容
> dotnet data-1.dll 10, 20
并将数字 10 和 20 传递到代码中?
static void Main(string[] args)
{
【问题讨论】:
标签: c#
当您将命令行参数传递给程序时,它们包含在主函数的 args 参数中。 然后,您可以通过索引访问每个参数。
例如,如果您调用:dotnet data1.dll 10 20 args[0] 将是 10,而 args[1] 将是 20。
请记住,所有命令行参数最初都被解析为字符串,因此您必须将这些字符串值转换为 int 或其他类型。
【讨论】:
你不能传入整数,只能传入字符串。那是命令行和Commandline Arguments的dos时代限制。
但是将字符串解析为 Int 这样的类型是 UI 工作中最重要的部分。 .NET 对它有广泛的支持。所以一个简单的电话Int32.Parse() 就可以解决这个问题。
然而 parse 会在任何解析问题上引发大量异常。所以通常最好改用TryParse(),即使使用的模式有点难学/更复杂。
【讨论】: