Написать комментарии - 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; } } }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д