powered by simpleCommunicator - 2.0.51     © 2025 Programmizd 02
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / CommandLine parser?
25 сообщений из 96, страница 1 из 4
CommandLine parser?
    #39738455
256k
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Порекомендуйте что-то простое и приличное
...
Рейтинг: 0 / 0
CommandLine parser?
    #39738465
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Split
...
Рейтинг: 0 / 0
CommandLine parser?
    #39738472
Сон Веры Павловны
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
CommandLine parser?
    #39738476
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Shocker.ProSplit

Зачем, если в Main передаётся string[] args ?

for + switch + case
...
Рейтинг: 0 / 0
CommandLine parser?
    #39738480
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
256kПорекомендуйте что-то простое и приличноепервый раз берем входные и сразу библиотеку?
...
Рейтинг: 0 / 0
CommandLine parser?
    #39738484
Сон Веры Павловны
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
skyANAfor + switch + case

А если логика аргументов допускает произвольный порядок их указания (myprogram.exe /foo /bar == myprogram.exe /bar /foo)?
Если серьезно - гугл в помощь: https://www.google.com/search?q=c# command line parser - готовых библиотек для парсинга этих аргументов ком. строки, как грязи.
...
Рейтинг: 0 / 0
CommandLine parser?
    #39738488
256k
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Сон Веры ПавловныskyANAfor + switch + case

А если логика аргументов допускает произвольный порядок их указания (myprogram.exe /foo /bar == myprogram.exe /bar /foo)?
Если серьезно - гугл в помощь: https://www.google.com/search?q=c# command line parser - готовых библиотек для парсинга этих аргументов ком. строки, как грязи.

1. йез
2. потому и спросил, чтобы что-то проверенное порекомендовали
...
Рейтинг: 0 / 0
CommandLine parser?
    #39738681
256k
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Сон Веры Павловны вполне прилично

а на шарпе этого же нет?
...
Рейтинг: 0 / 0
CommandLine parser?
    #39738689
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Сон Веры ПавловныА если логика аргументов допускает произвольный порядок их указания (myprogram.exe /foo /bar == myprogram.exe /bar /foo)?
Если не усложнять, то порядок причем?
Надо все параметры по разделителю в словарь и отправить словарь в бизнес логику выполнять.
Если параметр a.exe --file myFile.xml, то этот файл и поступит в метод обработки.
...
Рейтинг: 0 / 0
CommandLine parser?
    #39738707
fkthat
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Сон Веры ПавловныskyANAfor + switch + case

А если логика аргументов допускает произвольный порядок их указания (myprogram.exe /foo /bar == myprogram.exe /bar /foo)?
Если серьезно - гугл в помощь: https://www.google.com/search?q=c# command line parser - готовых библиотек для парсинга этих аргументов ком. строки, как грязи.

На самом деле, простейший конечный автомат. Я всегда за то, чтобы использовать готовое, но тут, походу, быстрее самому написать, чем в готовом разбираться (не считая, что это готовое надо еще сначала выбрать из этого "как грязи").
...
Рейтинг: 0 / 0
CommandLine parser?
    #39738715
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
fkthat,
Как всегда в точку.
Автор туману напускает, а у самого Вангуем один параметр.
Кроме того, если встретится 2 или неформат, то сразу выход и справка в out "как надо".
...
Рейтинг: 0 / 0
CommandLine parser?
    #39738792
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Сон Веры ПавловныskyANAfor + switch + case

А если логика аргументов допускает произвольный порядок их указания (myprogram.exe /foo /bar == myprogram.exe /bar /foo)?
И что?

Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
            for (int i = 0; i < args.Length; i++)
            {
                string arg = args[i];

                try
                {
                    if (arg != null)
                    {
                        switch (arg)
                        {
                            case "/bar":
                                Console.WriteLine("/bar parameter is presented");
                                break;
                            case "/foo":
                                Console.WriteLine("/foo parameter is presented");
                                break;
                            case "/name":
                                Console.WriteLine("/name parameter is set to: {0}", args[i + 1]);
                                break;
                        }
                    }
                }
                catch (FormatException)
                {
                    throw new ArgumentException("Input parameter is not in a correct format.", arg);
                }
                catch (IndexOutOfRangeException)
                {
                    throw new ArgumentNullException(arg, "Required input parameter is missing.");
                }
            }
...
Рейтинг: 0 / 0
CommandLine parser?
    #39738849
fkthat
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Мне кажется

skyANA
Код: c#
1.
Console.WriteLine("/name parameter is set to: {0}", args[i + 1]);




тут надо заменить на

Код: c#
1.
Console.WriteLine("/name parameter is set to: {0}", args[++i]);
...
Рейтинг: 0 / 0
CommandLine parser?
    #39738873
iskatelsql
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
skyANA,

Немного офф - а это работает? Недавно натыкался на вопрос switch по строкам, там утверждали что возможно, только ести длина строки одинакова, и предлагали Substring(1,3)
...
Рейтинг: 0 / 0
CommandLine parser?
    #39738895
Сон Веры Павловны
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
skyANAИ что?
Да нет, ничего, я, чесслово, не против, если случай настолько простой, что это будет работать. В моем случае в свое время было несколько сложнее - ключи со значениями, контекстно-зависимые ключи, сокращенные формы ключей, итп. - пришлось велосипедить что-то вроде того, что выше по ссылке на F#.
iskatelsqlskyANA,
Немного офф - а это работает? Недавно натыкался на вопрос switch по строкам, там утверждали что возможно, только ести длина строки одинакова, и предлагали Substring(1,3)
Если у строк разная длина - то это разные строки, ваш К.О. Разумеется, в этом случае switch по строкам работать не будет, т.к. он фактически сводится к вызову перегруженного оператора ==, который, в свою очередь, вызывает String.Equals(a, b). Здесь, кстати, еще будет нужно, чтобы у строк совпадал регистр.
...
Рейтинг: 0 / 0
CommandLine parser?
    #39738931
fkthat
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
iskatelsqlтам утверждали что возможно, только ести длина строки одинакова, и предлагали Substring(1,3)

Что это за ересь?
...
Рейтинг: 0 / 0
CommandLine parser?
    #39738989
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
CommandLine parser?
    #39739054
256k
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hVostt256k,

https://www.nuget.org/packages/CommandLineParser

Неплохой, я протестировал, но есть вопрос:
есть параметр, для него указано значение по умолчанию, при разорках этот параметр будет присутствовать в любом случае, и как понять, что параметр именно был передан юзером?
...
Рейтинг: 0 / 0
CommandLine parser?
    #39739059
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
256kи как понять, что параметр именно был передан юзером?не делать его по умолчанию))))
...
Рейтинг: 0 / 0
CommandLine parser?
    #39739075
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
256k,
Код: c#
1.
MyMetod(int n, string s = "member") 


Как определить, что второй параметер был передан?
...
Рейтинг: 0 / 0
CommandLine parser?
    #39739078
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
256kи как понять, что параметр именно был передан юзером?

Зачем? Какая разница откуда он был передан. Тут нужен результат.
...
Рейтинг: 0 / 0
CommandLine parser?
    #39739092
256k
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Petro123fkthat,
Как всегда в точку.
Автор туману напускает, а у самого Вангуем один параметр.
Кроме того, если встретится 2 или неформат, то сразу выход и справка в out "как надо".

дядя Петя, у тебя какая-то бессвязная речь, что такое "у самого Вангуем"?
...
Рейтинг: 0 / 0
CommandLine parser?
    #39739095
Roman Mejtes
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Если нужна такой механизм, то не нужно задавать значение по умолчанию. Если значение параметра не задано, вы определите, что он не определен пользователем и определите его значение по умолчанию в коде. ваш КО.
...
Рейтинг: 0 / 0
CommandLine parser?
    #39739100
256k
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Roman MejtesЕсли нужна такой механизм, то не нужно задавать значение по умолчанию. Если значение параметра не задано, вы определите, что он не определен пользователем и определите его значение по умолчанию в коде. ваш КО.

да, это один вменяемый вариант
...
Рейтинг: 0 / 0
CommandLine parser?
    #39739110
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
256kRoman MejtesЕсли нужна такой механизм, то не нужно задавать значение по умолчанию. Если значение параметра не задано, вы определите, что он не определен пользователем и определите его значение по умолчанию в коде. ваш КО.

да, это один вменяемый вариантвроде у тебя бессвязные вопросы.
НЕ НУЖНО ЗАДАВАТЬ ПО УМОЛЧАНИЮ)))
...
Рейтинг: 0 / 0
25 сообщений из 96, страница 1 из 4
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / CommandLine parser?
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]