У меня есть 5 файлов, которые я разобрал. Это текстовые файлы, и я не знаю, как передать их программе через аргументы командной строки. Я использую визуальную студию и до-диез. Когда я захожу в Project>Properties>Debug>Command Line Argument>, я просто набираю файлы? Как File01.txt,File02.txt и т. Д ...

-2
Vapenation 25 Ноя 2016 в 19:34

2 ответа

Лучший ответ

Самый простой способ - понять, что аргументы командной строки передаются вам как массив строк в вашем методе Main (...).

class TestClass
{
    static void Main(string[] args)
    {
        // Display the number of command line arguments:
        System.Console.WriteLine(args.Length);

        foreach(var arg in args)
        {
            System.Console.WriteLine(arg);
        }
    }
}

(Примерно из: https://msdn.microsoft.com/en-us/ библиотека / acy3edy3.aspx)

Конкретно в ответ на ваш вопрос - да, на вкладке отладки, но они должны быть разделены пробелами, а не запятыми.

Если вы действительно хотите открыть и прочитать файлы, вам понадобится что-то вроде (при условии, что это текстовые файлы):

int counter = 0;
string line;

using(var file = new System.IO.StreamReader(arg))
{
    while((line = file.ReadLine()) != null)
    {
        Console.WriteLine (line);
        counter++;
    }
}

(В общих чертах: https: // msdn. microsoft.com/en-GB/library/aa287535%28v=vs.71%29.aspx)

5
Tim Barrass 25 Ноя 2016 в 16:53

В методе Main вы можете обрабатывать аргументы следующим образом:

static void Main(string[] args)
{
    if (args.Length > 0)
    {
        foreach (string p in args)
        {
            Console.WriteLine(p);
        }
    }
    else
    {
        Console.WriteLine("Empty input parameters");
    }
}

Когда вы запускаете свою программу из командной строки, вы должны использовать следующий синтаксис:

C:\>yourprogram.exe firstfile.txt secondfile.xls thridfile.dat
0
Mitulát báti 25 Ноя 2016 в 16:47