Написать комментарии - C#
Формулировка задачи:
Здравствуйте. Требуется написать комментарии фактически к каждой строчке данного кода.
Листинг программы
- private void button2_Click(object sender, EventArgse)//
- {
- RemoveAllComments (lFile.Text);
- }
- private void RemoveAllComments(string filename)
- {
- StringBuilder content = new StringBuilder();
- content.Append(File.ReadAllText(filename));
- RemoveComments(content, "/*", "*/");
- RemoveComments(content, "/// <summary>", "/// </summary>");
- RemoveComments(content, "//", Environment.NewLine);
- File.WriteAllText(filename + ".txt", content.ToString());
- MessageBox.Show(string.Format("Создан файл {0}.txt", filename));
- }
- private void RemoveComments(StringBuilder content, string start, string end)
- {
- string contentStr;
- int startIndex = 0;
- int endIndex = 0;
- //длина концовки;
- //если мы ищем однострочный комментарий значит длина концовки равна нулю
- int endLength = (end == Environment.NewLine) ? 0 : end.Length;
- while (true)
- {
- contentStr = content.ToString();
- startIndex = contentStr.IndexOf(start);
- endIndex = (startIndex != -1) ? contentStr.IndexOf(end, startIndex) : -1;
- if (startIndex != -1 && endIndex != -1)
- {
- content.Remove(startIndex, endIndex + endLength - startIndex);
- }
- //если нашелся только начальный индекс и мы удаляем однострочный комментарий
- //значит после комментария идет конец файла, в таком случае удаляем все
- //начиная со startIndex
- else if (startIndex != -1 && end == Environment.NewLine)
- {
- content.Remove(startIndex, content.Length - startIndex);
- }
- //если не найден ни один индекс завершаем поиск
- else
- {
- break;
- }
- }
- }
Решение задачи: «Написать комментарии»
textual
Листинг программы
- //вызов обработчика нажатия кнопки button2
- private void button2_Click(object sender, EventArgse)
- {
- //вызов метода RemoveAllComments (Удалить все комментарии) с параметром
- RemoveAllComments (lFile.Text);
- }
- // Объявление метода RemoveAllComments принимающего параметр filename
- private void RemoveAllComments(string filename)
- {
- //создание новой строки - инциализация
- StringBuilder content = new StringBuilder();
- // Заполняем строку текстом из файла
- content.Append(File.ReadAllText(filename));
- //вызов метода RemoveComments с различными параметрами
- //Многострочный коментарий
- RemoveComments(content, "/*", "*/");
- //коментарий описания
- RemoveComments(content, "/// <summary>", "/// </summary>");
- //Однострочный коментарий
- RemoveComments(content, "//", Environment.NewLine);
- //Сохраняем файл без комментариев в формате txt
- File.WriteAllText(filename + ".txt", content.ToString());
- //Пользовательское сообщение об успешности выполнения и именем файла
- MessageBox.Show(string.Format("Создан файл {0}.txt", filename));
- }
- // Объявление метода RemoveComments принимающего параметры строку, начало, конец
- private void RemoveComments(StringBuilder content, string start, string end)
- {
- //инициализация переменных
- string contentStr;
- int startIndex = 0;
- int endIndex = 0;
- //длина концовки;
- //если мы ищем однострочный комментарий значит длина концовки равна нулю
- int endLength = (end == Environment.NewLine) ? 0 : end.Length;
- while (true)
- {
- //присваиваем переменным значение из параметров
- //заносим в строковую переменную значение параметра content
- contentStr = content.ToString();
- //получам индекс начала
- startIndex = contentStr.IndexOf(start);
- //определение индекса конца
- endIndex = (startIndex != -1) ? contentStr.IndexOf(end, startIndex) : -1;
- //если startIndex != -1 И endIndex != -1
- //для много строчных комментариев
- if (startIndex != -1 && endIndex != -1)
- {
- //Удаляем комментарии в строке с начального до (конец+длина-начальный индекс)
- content.Remove(startIndex, endIndex + endLength - startIndex);
- }
- //если нашелся только начальный индекс и мы удаляем однострочный комментарий
- //значит после комментария идет конец файла, в таком случае удаляем все
- //начиная со startIndex
- else if (startIndex != -1 && end == Environment.NewLine)
- {
- content.Remove(startIndex, content.Length - startIndex);
- }
- //если не найден ни один индекс завершаем поиск
- else
- {
- break;
- }
- }
- }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д