Форум программистов, компьютерный форум, киберфорум
C# для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.62/13: Рейтинг темы: голосов - 13, средняя оценка - 4.62
119 / 84 / 42
Регистрация: 14.12.2015
Сообщений: 945

Метод Main и вызов его из командной строки

15.05.2019, 09:08. Показов 2798. Ответов 11
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте. Поясните немного пожалуйста. Для чего если метод Main вызывается с типом int, то нужно вернуть значение 0 или 1? Т.е. какая смысловая нагрузка для программиста в этом? Ведь значение возвращается операционной системе и мы наверное не знаем какое там конкретно значение вернулось. Для чего вообще возвращается 1 или 0? И могут ли быть возвращены другие значения?
А второй вопрос: как передавать параметры методу Main? Их только можно передать через командную строку или есть другие способы? И как надо прописывать пусть в cmd что бы вызвать нужную программу? Например, папка с проектом находится на диске D.

Добавлено через 34 минуты
И как отлаживать программу в таком случае? Работать только с cmd или можно в самой программе как то передать параметры в Main?
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
15.05.2019, 09:08
Ответы с готовыми решениями:

Main() и аргументы командной строки
Создадим консольное приложение using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace...

Все время 0 аргументов командной строки в Main
подскажите пожалуйста почему у меня все время 0 аргументов командной строки в Main? там ведь должен быть всегда как минимум один аргумент...

Вызов командной строки в папке
Имеется следующий код: string command = string.Empty; DirectoryInfo dInfoForTesting = new...

11
 Аватар для Immo
692 / 509 / 238
Регистрация: 02.10.2012
Сообщений: 1,741
15.05.2019, 09:52
не понимаю смысла вашего поста, и как cmd связан с шарпом. Для запуска когда вы должны его скомпилировать, ловить ошибки вам помогает дебаггер. Что бы скомпилировать полностью рабочий код из командной строки, перейдите в папку с вышим файлом, и передайте файл компилятору, например:
Bash
1
2
cd c:\sharpproject
c:\путь до компилятора\csc.exe" имя_программы.cs
Добавлено через 3 минуты
а что касается параметров мейн, то она не содержит int, при создании получается
C#
1
static void Main(string[] args)
как раз этот массив аргументов и является параметром запуска, в самом методе уже можно обработать их

Добавлено через 2 минуты
для примера запустим вашу программу из консоли с ключом X:
PureBasic
1
c:\someprogram.exe X
в методе мейн, обработаем, и выведем сообщение:
C#
1
2
3
4
5
6
7
8
9
static void Main(string[] args)
        {
            if (args.Length != 0)
            {
                if (args[0] == "X")
                    Console.WriteLine("Вы запустили программу с параметром Х");
            }
            Console.ReadLine();
        }
0
119 / 84 / 42
Регистрация: 14.12.2015
Сообщений: 945
15.05.2019, 10:41  [ТС]
Immo, А что такое дебаггер? Я самоучка и только визуально студию знаю. Для меня отладка заключается: нажать F5 и посмотреть что получилось. Если неверный результат, то ищу где ошибка.
Цитата Сообщение от Immo Посмотреть сообщение
Что бы скомпилировать полностью рабочий код из командной строки, перейдите в папку с вышим файлом, и передайте файл компилятору, например:
ну cmd это же и есть командная строка?
Я бы не отказался выслушать рекомендации как правильно отлаживать код. Как пользоваться дебаггерами и прочими фишками.
0
 Аватар для Immo
692 / 509 / 238
Регистрация: 02.10.2012
Сообщений: 1,741
15.05.2019, 10:48
cmd это интерпритотор. советую ознакомится с отладчиком на сайте майкрософт
1
119 / 84 / 42
Регистрация: 14.12.2015
Сообщений: 945
15.05.2019, 12:45  [ТС]
C:\Windows\Microsoft.NET\Framework\v4.0. 30319 вот по этому пути нахожу csc.exe Двойной клик и ничего не происходит, точнее не запускается компилятор. Или я что то не так делаю?
0
управление сложностью
 Аватар для Почтальон
1693 / 1306 / 259
Регистрация: 22.03.2015
Сообщений: 7,545
Записей в блоге: 5
15.05.2019, 12:53
Цитата Сообщение от Talamaur Посмотреть сообщение
Двойной клик и ничего не происходит, точнее не запускается компилятор. Или я что то не так делаю?
Его из командной строки нужно запускать, а не двойным кликом
0
119 / 84 / 42
Регистрация: 14.12.2015
Сообщений: 945
15.05.2019, 13:11  [ТС]
Вообще не понял. Так как запустить этот компилятор для отладки программы?
0
управление сложностью
 Аватар для Почтальон
1693 / 1306 / 259
Регистрация: 22.03.2015
Сообщений: 7,545
Записей в блоге: 5
15.05.2019, 13:15
Вы запускаете программу из студии по F5 (отладка). Не думаю что можно отлаживать "сторонние" приложения с помощью VS
0
119 / 84 / 42
Регистрация: 14.12.2015
Сообщений: 945
15.05.2019, 13:21  [ТС]
Цитата Сообщение от Почтальон Посмотреть сообщение
Вы запускаете программу из студии по F5 (отладка)
У меня код который требует передачи параметров в Main. Если параметров нету, то не посмотреть работу программы
0
управление сложностью
 Аватар для Почтальон
1693 / 1306 / 259
Регистрация: 22.03.2015
Сообщений: 7,545
Записей в блоге: 5
15.05.2019, 13:47
Где-то в настройках отладки можно указать строку запуска с параметрами
0
1123 / 794 / 219
Регистрация: 15.08.2010
Сообщений: 2,185
15.05.2019, 14:11
чет развели в теме всякого
Цитата Сообщение от Talamaur Посмотреть сообщение
Для чего если метод Main вызывается с типом int
чтобы вернуть int
Цитата Сообщение от Talamaur Посмотреть сообщение
то нужно вернуть значение 0 или 1?
любой int
Цитата Сообщение от Talamaur Посмотреть сообщение
Ведь значение возвращается операционной системе
возвращается тому кто вызывал
Цитата Сообщение от Talamaur Посмотреть сообщение
мы наверное не знаем какое там конкретно значение вернулось
тот кто вызвал вашу программу узнает. По стандарту 0 - успешное завершение, все остальное - код ошибки.
Цитата Сообщение от Talamaur Посмотреть сообщение
как передавать параметры методу Main?
в командной строке путь к файлу и параметры через пробел
для дебага в свойствах проекта во вкладке дебаг есть поле, где их можно задать.
0
119 / 84 / 42
Регистрация: 14.12.2015
Сообщений: 945
16.05.2019, 06:44  [ТС]
КОП, а можете выложить скрин где это поле находиться?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
16.05.2019, 06:44
Помогаю со студенческими работами здесь

Метод для очистки командной строки от вывода
Подскажите существует ли метод Сабж'а... Например на консоль выводится много данных. (что бы следующий вопрос который будет задаваться...

Параметры командной строки, функция main
Всем привет! Почему код не компилируется?, ошибки, связанные с табуляцией. open System let main(args : string) = if...

Аргументы командной строки в функции main
Вопрос собственно говоря банальный в домашнем задании требуеться: параметр пронраммы передаеться через командную строку.Пример: ...

функция main обработка параметров командной строки
Подскажите, пожалуйста, зачем могут использоваться параметры командной строки, пример какой-нибудь если можно, только не конкретный :) без...

Передача аргументов командной строки функции main()
Добрый день Дана задача: Напишите программу, которая запрашивает пароль, задаваемый в команд- ной строке. Ваша программа не должна...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
12
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование . \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json> Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом. # Check if. . .
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так: https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347 Основана на STM32F303RBT6. На борту пять. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru