'How to pass arguments in command line using dotnet?
the command
dotnet myapp.dll -- [4, 3, 2]
throws the exception System.FormatException: Input string was not in a correct format
.
I do not know the syntax. How should I pass arguments correctly?
I use powershell.
Solution 1:[1]
using System;
namespace ConsoleApp3
{
class Program
{
static void Main(string[] args)
{
Console.WriteLine(string.Join('-', args));
}
}
}
Call it via Powershell 6:
dotnet .\ConsoleApp3.dll "[1,2,3]"
Output:
[1,2,3]
In the above call, your Main
method will receive [1,2,3]
as a single string and you have to parse/split it in your code.
If you want an array reflected in the string[]
array of Main
you can use a PowerShell array:
dotnet .\ConsoleApp3.dll @(1,2,3)
Output:
1-2-3
Here the PowerShell array @(1,2,3)
is casted to a string[]
-array. Therefore each item of the PowerShell array is injected to the string[]
array.
Behavior is the same on PowerShell 5.1.
Sources
This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.
Source: Stack Overflow
Solution | Source |
---|---|
Solution 1 | Wai Ha Lee |