Написать комментарии - C#

Узнай цену своей работы

Формулировка задачи:

Здравствуйте. Требуется написать комментарии фактически к каждой строчке данного кода.
Листинг программы
  1. private void button2_Click(object sender, EventArgse)//
  2. {
  3. RemoveAllComments (lFile.Text);
  4. }
  5. private void RemoveAllComments(string filename)
  6. {
  7. StringBuilder content = new StringBuilder();
  8. content.Append(File.ReadAllText(filename));
  9. RemoveComments(content, "/*", "*/");
  10. RemoveComments(content, "/// <summary>", "/// </summary>");
  11. RemoveComments(content, "//", Environment.NewLine);
  12. File.WriteAllText(filename + ".txt", content.ToString());
  13. MessageBox.Show(string.Format("Создан файл {0}.txt", filename));
  14. }
  15. private void RemoveComments(StringBuilder content, string start, string end)
  16. {
  17. string contentStr;
  18. int startIndex = 0;
  19. int endIndex = 0;
  20. //длина концовки;
  21. //если мы ищем однострочный комментарий значит длина концовки равна нулю
  22. int endLength = (end == Environment.NewLine) ? 0 : end.Length;
  23. while (true)
  24. {
  25. contentStr = content.ToString();
  26. startIndex = contentStr.IndexOf(start);
  27. endIndex = (startIndex != -1) ? contentStr.IndexOf(end, startIndex) : -1;
  28. if (startIndex != -1 && endIndex != -1)
  29. {
  30. content.Remove(startIndex, endIndex + endLength - startIndex);
  31. }
  32. //если нашелся только начальный индекс и мы удаляем однострочный комментарий
  33. //значит после комментария идет конец файла, в таком случае удаляем все
  34. //начиная со startIndex
  35. else if (startIndex != -1 && end == Environment.NewLine)
  36. {
  37. content.Remove(startIndex, content.Length - startIndex);
  38. }
  39. //если не найден ни один индекс завершаем поиск
  40. else
  41. {
  42. break;
  43. }
  44. }
  45. }

Решение задачи: «Написать комментарии»

textual
Листинг программы
  1. //вызов обработчика нажатия кнопки button2
  2. private void button2_Click(object sender, EventArgse)
  3. {
  4.     //вызов метода RemoveAllComments (Удалить все комментарии)  с параметром
  5.     RemoveAllComments (lFile.Text);
  6. }
  7.  
  8. // Объявление метода RemoveAllComments принимающего параметр filename
  9. private void RemoveAllComments(string filename)
  10. {
  11.     //создание новой строки - инциализация
  12.     StringBuilder content = new StringBuilder();
  13.     // Заполняем строку текстом из файла
  14.     content.Append(File.ReadAllText(filename));
  15.  
  16.    //вызов метода RemoveComments  с различными параметрами
  17.    //Многострочный коментарий
  18.     RemoveComments(content, "/*", "*/");
  19.    //коментарий описания
  20.     RemoveComments(content, "/// <summary>", "/// </summary>");
  21.    //Однострочный коментарий
  22.     RemoveComments(content, "//", Environment.NewLine);
  23.  
  24.     //Сохраняем файл без комментариев в формате txt
  25.     File.WriteAllText(filename + ".txt", content.ToString());
  26.    
  27.     //Пользовательское сообщение об успешности выполнения и именем файла
  28.     MessageBox.Show(string.Format("Создан файл {0}.txt", filename));
  29. }
  30.  
  31. // Объявление метода RemoveComments принимающего параметры строку, начало, конец
  32. private void RemoveComments(StringBuilder content, string start, string end)
  33. {
  34.     //инициализация переменных
  35.     string contentStr;
  36.     int startIndex = 0;
  37.     int endIndex = 0;
  38.  
  39.     //длина концовки;
  40.     //если мы ищем однострочный комментарий значит длина концовки равна нулю
  41.     int endLength = (end == Environment.NewLine) ? 0 : end.Length;
  42.  
  43.     while (true)
  44.     {
  45.        //присваиваем переменным значение из параметров
  46.        //заносим в строковую переменную значение параметра content
  47.         contentStr = content.ToString();
  48.        //получам индекс начала
  49.         startIndex = contentStr.IndexOf(start);
  50.         //определение индекса конца
  51.         endIndex = (startIndex != -1) ? contentStr.IndexOf(end, startIndex) : -1;
  52.  
  53.        //если startIndex != -1 И endIndex != -1
  54.        //для много строчных комментариев
  55.         if (startIndex != -1 && endIndex != -1)
  56.         {
  57.            //Удаляем комментарии в строке с начального до (конец+длина-начальный индекс)
  58.             content.Remove(startIndex, endIndex + endLength - startIndex);
  59.         }
  60.         //если нашелся только начальный индекс и мы удаляем однострочный комментарий
  61.         //значит после комментария идет конец файла, в таком случае удаляем все
  62.         //начиная со startIndex
  63.         else if (startIndex != -1 && end == Environment.NewLine)
  64.         {
  65.             content.Remove(startIndex, content.Length - startIndex);
  66.         }
  67.         //если не найден ни один индекс завершаем поиск
  68.         else
  69.         {
  70.             break;
  71.         }
  72.     }
  73. }

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

15   голосов , оценка 4.067 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы