Что означает синтаксис [/ ] в строке C #

#c# #syntax

#c# #синтаксис

Вопрос:

Я не могу найти as в Google, поскольку Google блокирует символы.

он появился в этом контексте:

 Console.WriteLine("Usage: findduplicatefiles [/sub] DirectoryName [DirectoryName]...");
  

Спасибо 🙂

Ответ №1:

В C # это ничего не значит. Все, что делает Console.WriteLine() вызов, это записывает эту строку:

 "Usage: findduplicatefiles [/sub] DirectoryName [DirectoryName]..."
  

в консоль в качестве выходных данных.

Однако в командной строке Windows / функционирует как разделитель аргументов командной строки и [] означает, что это необязательный аргумент. Запрос на использование сообщает пользователю, что sub это необязательный аргумент для использования с findduplicatefiles программой.

Примеры:

  • Выполнить findduplicatefiles.exe для текущего каталога:

     C:>findduplicatefiles .
      
  • Запустите findduplicatefiles.exe для текущего каталога с sub аргументом:

     C:>findduplicatefiles /sub .
      
  • Выполнить findduplicatefiles.exe для двух каталогов, C:abc и C:def , с sub аргументом:

     C:>findduplicatefiles /sub abc def
      

Ответ №2:

«[/» в строке ничего не значит для C #. Он просто записывает эти символы. Но я думаю, вы смущены значением того, что записывается.

Существует соглашение при документировании программ командной строки, где помещение аргумента в квадратные скобки означает, что аргумент необязательный. Таким образом, строка, которую записывает ваша программа, указывает, что команда findduplicatefiles может необязательно иметь аргумент /sub , после которого у нее должно быть по крайней мере одно имя каталога, и необязательно могут быть другие имена каталогов.

Ответ №3:

В этом случае is ничего не значит для C #. Это просто символ в строке, такой же, как и остальная часть строки.

Ответ №4:

Означает, что необязательно ставить /sub перед directoryName. Это не вопрос C #.