Как передать аргументы в командной строке, используя dotnet? - PullRequest
0 голосов
/ 13 мая 2019

команда dotnet myapp.dll -- [4, 3, 2] выдает исключение System.FormatException: Input string was not in a correct format.Я не знаю синтаксис.Как правильно передавать аргументы?Я использую PowerShell.

1 Ответ

1 голос
/ 13 мая 2019
using System;

namespace ConsoleApp3
{
    class Program
    {
        static void Main(string[] args)
        {
            Console.WriteLine(string.Join('-', args));
        }
    }
}

Позвоните через Powershell 6:

dotnet .\ConsoleApp3.dll "[1,2,3]"

Вывод:

[1,2,3]

В приведенном выше вызове ваш Main получит [1,2,3] как одну строку, и вы 'мы можем проанализировать / разбить его в вашем коде.

Если вы хотите, чтобы массив отражался в массиве string[] Main, вы можете использовать массив PowerShell:

dotnet .\ConsoleApp3.dll @(1,2,3)

Вывод:

1-2-3

Здесь массив PowerShell @(1,2,3) приводится к массиву string[].Поэтому каждый элемент массива PowerShell внедряется в массив string[].

Поведение в PowerShell 5.1 одинаково.

Надеюсь, это поможет.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...