Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/331.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何将两个整数参数传入并使用到C#命令行程序中?_C# - Fatal编程技术网

如何将两个整数参数传入并使用到C#命令行程序中?

如何将两个整数参数传入并使用到C#命令行程序中?,c#,C#,我有一个名为data-1的C#程序,在Mac OS上运行 在我运行此命令时,我使用: > dotnet data-1.dll 我如何更改主控灯,以便输入以下内容 > dotnet data-1.dll 10, 20 把数字10和20传给密码 static void Main(string[] args) { 将命令行参数传递给程序时,它们包含在主函数的args参数中。 然后可以通过索引访问每个参数 例如,如果调用:dotnet data1.dll 10 20args[0]将是1

我有一个名为data-1的C#程序,在Mac OS上运行

在我运行此命令时,我使用:

> dotnet data-1.dll
我如何更改主控灯,以便输入以下内容

> dotnet data-1.dll 10, 20
把数字10和20传给密码

static void Main(string[] args)
{

将命令行参数传递给程序时,它们包含在主函数的args参数中。 然后可以通过索引访问每个参数

例如,如果调用:
dotnet data1.dll 10 20
args[0]将是10,args[1]将是20。
请记住,所有命令行参数最初都被解析为字符串,因此您必须将这些字符串值转换为int或其他类型。

您不能传入整数,只能传入字符串。这是命令行和命令行上的dos时代限制

但是将字符串解析为Int类型是UI工作中最重要的部分。NET对它有广泛的支持。所以一个简单的调用就可以解决这个问题


然而,parse在任何解析问题上都会抛出大量异常。因此,通常最好改用它,即使使用的模式有点难学/更复杂。

主题外,但您能否详细说明类型映射是如何在UI工作中最重要的部分???@DetectivePikachu我避免在后端使用字符串。字符串仅用于用户输入和输出。在这些情况下,它们是一种必然的罪恶所有的实际工作都是使用基本类型完成的。您无法有效地对数字进行运算,甚至无法将数字存储在字符串中,|字符串可以说是第二糟糕的处理格式。唯一更糟糕的是原始字节。我明白了。我总是用字符串制作我的RPC,并让后端处理类型映射和异常处理。我尽量避免在UI层进行处理。@DetectivePikachu:它根据模式而变化。在MVVM中,建议您接受ViewModel属性中的任何字符串,然后在ViewModel类中进行解析(以及通过类似INotifyDataError的方式进行错误报告)但其基本思想仍然是一样的:字符串是与用户交流的一种必要手段,而不是一种真正可以使用的东西此外,由于Parse提取区域性的方式和位置,可能会出现一些问题,要求您作为接近用户来执行此操作。我可以发誓索引0和1是保留的。例如程序名和路径。但要么我忘记了,要么那些参数在我们点击main之前已经被提取并放入属性中。在某些语言/框架中,你是正确的,但dotnet没有这样做。你可以用不同的方式得到。